添加两个列表的元素

时间:2015-12-10 12:57:36

标签: python list python-3.x

我正在尝试在python中添加两个列表。第一个列表包含第一个测试的结果,第二个列表包含第二个列表,我正在尝试使用其中的总标记创建另一个列表。继承我的代码:

import csv

with open ("UASHSDDP3efiles.csv", "r") as csvfile:
    reader = csv.reader(csvfile)
    list1 = []
    for row in reader:
        list1.append(row[1])
    print (",".join(list1))

with open ("UASHSDDP3efiles.csv", "r") as csvfile:
    reader = csv.reader(csvfile)
    list2 = []
    for row in reader:
        list2.append(row[2])
    print(",".join(list2))

list3 = [(x + y) for x, y in zip(list1, list2)]
print (list3)

到目前为止,我得到的输出是:

>>> 55,25,40,21,52,42,19,47,37,40,49,51,15,32,4
51,36,50,39,53,33,40,57,53,34,40,53,22,42,13
['5551', '2536', '4050', '2139', '5253', '4233', '1940', '4757', '3753', '4034', '4940', '5153', '1522', '3242', '413']

2 个答案:

答案 0 :(得分:1)

那是因为你的list1和list2包含字符串类型的元素 并且元素正在连接而不是被添加。

因此,您应该在将元素附加到列表之前将元素转换为 int ,或者通过再次遍历整个列表将所有元素显式转换为int

答案 1 :(得分:0)

您要添加两个字符串,这就是为什么'55' + '51' = '5551'

将它们转换为整数,以便将两个数字相加:

list3 = [(int(x) + int(y)) for x, y in zip(list1, list2)]
相关问题