添加两个列表的元素

2024-10-01 00:17:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在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']

Tags: csvcsvfilein列表foraswithopen
2条回答

您正在添加两个字符串,这就是为什么'55'+'51'='5551'。你知道吗

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

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

这是因为list1和list2包含字符串类型的元素 元素被连接而不是被添加。你知道吗

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

相关问题 更多 >