我正在尝试在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']
答案 0 :(得分:1)
那是因为你的list1和list2包含字符串类型的元素 并且元素正在连接而不是被添加。
因此,您应该在将元素附加到列表之前将元素转换为 int ,或者通过再次遍历整个列表将所有元素显式转换为int
答案 1 :(得分:0)
您要添加两个字符串,这就是为什么'55'
+ '51'
= '5551'
。
将它们转换为整数,以便将两个数字相加:
list3 = [(int(x) + int(y)) for x, y in zip(list1, list2)]