在Python中将两个列表连接到一个数组中

布里亚诺

我想将一个Excel文件的列连接到另一个Excel文件的其他4列。

这是代码:

Array1 = []
Arraytest1 = []
Arraytest2 = []
with open('file.txt', 'r') as f:
    for line in f:
    List1 = line.split('\t')[:4]
    List2 = line.split('\t')[10]
    Arraytest1.append(List1)
    Arraytest2.append(List2)
    Arraytest1.extend(Arraytest2)
    print 'Array 1   :', Arraytest1

我在输出中看到的是:

数组1:[['A','B','C','D'],['E']]

数组1:[['A','B','C','D'],'E',['X1','X1','X1','X1'],'E',Y1]

但是我是什么样的:

阵列1:['A','B','C','D','E']

阵列1:['X1','X1','X1','X1','Y1']

阵列1:['X2','X2','X2','X2','Y2']

以此类推..我将感谢您的帮助

MooingRawr
List1 = line.split('\t')[:4]

使得List1已经列表。

Arraytest1.append(List1)

正在将该列表放入ArrayTest1中,认为 ArrayTest1 = [[List1's contents]]

然后,在扩展它时,将其展平一次,但是有一个嵌套列表,这就是为什么看到结果的原因。

尝试:

List1 = line.split('\t')[:4]
List2 = line.split('\t')[10]
Arraytest1.extend(List1)
Arraytest2.extend(List2)
Arraytest1.extend(Arraytest2)
print 'Array 1   :', Arraytest1 

或者,您可以将其替换为:

Arraytest1 += List1
Arraytest2 += List2

我确定您知道,但是append将对象添加到列表中,extend并在iterable中添加了每个对象。

附加:

x = [1,2,3]
x.append([4,5])
#x is now [1,2,3,[4,5]]

延长

x = [1,2,3]
x.append([4,5])
#x is now [1,2,3,4,5]
x.append(1) #throws error 

Split返回一个列表...但是有时如果您只想分割一个字符串,则将其强制转换。

x = "hello"
x = x.split()
#x is now ['hello']

x = "hello"
x = list(x)
#x is now ['h', 'e', 'l', 'l', 'o']

拆分句子通常是split的工作,Python中的字符串是可迭代的,因此您只需将其转换为列表即可将其拆分为每个字符。我想那就是你想要的

编辑:根据您的评论,这是一个for循环问题:

随着for循环的进行,您要追加添加到列表中,但是似乎每次循环时都需要一个新列表。您并没有将列表替换为干净的列表,而是每次都附加到列表上。尝试更换:

Arraytest1.extend(List1)
Arraytest2.extend(List2)

也:

Arraytest1 = List1[:]
Arraytest2 = List2[:]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在C ++中将两个3 x 3数组连接为一个数组

在javascript中将三个javascript数组连接到一个数组中

在python中将一个数组与其他两个数组进行比较

在python中将两个列表中的元素连接到第三个列表中

如何将元组中的两个数组连接成numpy中的一个数组

如何比较两个单独的对象/数组是否具有一个相同的元素,如果有匹配的元素,则将2个对象连接到一个数组中?Java脚本

python:总结一个列表的两个数字

两个流星实例连接到一个数据库-延迟问题

如何将两个列表中的每个元素连接到一个新列表?

Pyspark - 连接两个数据框并连接一个数组列

JavaScript:如何连接/组合两个数组以串联成一个数组?

使用jQuery“ extend”连接两个数组将返回一个数组

用 lodash 连接两个数组并使用一个数组作为键

通过第一个数组的元素连接两个 numpy 数组

如何在 Swift 中将一个可选数组连接到另一个数组?

将两个对象数组列表与第一个数组中的结构字段合并

在R中将两个数组转换为一个数据帧

将两个数组合并为一个数组列表

MYSQL:查询两个表并将结果从第二个表连接到一个数组

比较两个数组对象数据并在JavaScript中将一个对象合并到数组中?

将两个byteBuffer连接到一个

Python:使用熊猫将一个数组连接到另一个数组

在python中从一个系列创建两个数组

连接两个数组会生成两个修改后的数组而不是一个 C#

mongodb-从集合中的两个数组中获取一个数组

在一个数组列表中找到两个网络元素

将两个数组连接成一个新数组

如何在一个数组python中合并两个不同数组的ith值

通过动态分配在Python中将两个数组合并为一个