Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从两个不同的列表中添加两个值_Python_List_Sum_Zip - Fatal编程技术网

Python 如何从两个不同的列表中添加两个值

Python 如何从两个不同的列表中添加两个值,python,list,sum,zip,Python,List,Sum,Zip,编辑:我意识到了一些事情。当我读取文件时,我不仅读取了值,而且还读取了标签 我对一些列表有问题,我正在读取一个文件,结果被放入数据列表。然后我尝试将其他列表中的值添加到这些值中。所以现在我有: datalist = [['first','second','third','fourth','fifth'],[1,2,3,4,5]] newData_list = [0,1,1,0,2] 我想:datalist=[1,3,4,4,7]我在做这个: datalist= [some1, some2, s

编辑:我意识到了一些事情。当我读取文件时,我不仅读取了值,而且还读取了标签

我对一些列表有问题,我正在读取一个文件,结果被放入数据列表。然后我尝试将其他列表中的值添加到这些值中。所以现在我有:

datalist = [['first','second','third','fourth','fifth'],[1,2,3,4,5]]
newData_list = [0,1,1,0,2]
我想:datalist=[1,3,4,4,7]我在做这个:

datalist= [some1, some2, some3]
newData_list=[thing1, thing2, thing3]
datalist = [sum(x) for x in zip(datalist, newData_list)]
#and already try these
#datalit = sum([datalist,newData_list], axis=0)
#datalist = map(sum, zip(datalist, newData_list))
#datalist=[x + y for x, y in zip(datalist, newData_list)]*  
根据我使用的行,我得到了以下错误:

TypeError: unsupported operand type(s) for +: 'int' and 'list'
TypeError: can only concatenate list (not "int") to list

我正在使用csv.reader从文件中获取值。内容作为列表保存在datalist中。如何操作datalist的第二个元素(带数字的元素),我想我必须将list类型转换为integer,它会工作,但是如何操作呢?谢谢

您可以使用map和zip:

a = [1,2,3]
b = [4,5,6]
map(lambda (x,y): x+y,zip(a,b))
输出:

[5, 7, 9]
嗯,我也试过你的代码,它工作正常。
因此,您的问题应该是列表中的值。它们不是整数,但看起来更像是列表。

我只是在这样做,它似乎起了作用:

datalist[1] = map(int, datalist[1])

我猜您的列表必须包含嵌套列表和整数,但您需要向我们显示您的实际列表,确保您的列表已初始化为:
new\u Data\u list
,但您使用的是
newData\u list
。这是一个输入错误还是实际问题?只是输入错误,对不起,我会编辑这个如果你的datalist和newData\u list都是int,那么datalist=[在zip中x的总和(x)(datalist,newData\u list)]可以正常工作,但是当datalist或newData\u list不包含int元素而不是1时会出现键入错误,当我读取寄存器时,你是对的,我将内容保存为列表类型,我没有注意到这一点,因为它是由其他人制作的。我尝试转换datalist,但我认为没有使用正确的方法,因为它不起作用。我打电话给zip的时候一定要投吗?我会尽量告诉你的。问题是,我想确定我的列表中有整数,所以我做了一个type(thing1)和type(some1),然后我得到了type int,所以..我仍然得到了一个错误TypeError:只能将list(而不是“int”)连接到list。你能打印这两个列表并显示输出吗?我正在为datalist:datalist=list(reader)执行此操作#将文件内容另存为一个列表,其中reader为:reader=csv.reader(csvreadfile,delimiter=',')我检查了一下,并且newData_列表中的数据是int。现在的问题是,如何在datalist中强制转换数据以获得整数