2016-12-21 197 views
-1

編輯:我意識到一些東西。當我閱讀文件時,我不僅閱讀了數值,而且還閱讀了標籤!如何從兩個不同的列表中添加兩個值

我遇到了一些問題,我正在讀取一個文件,結果放在datalist中。然後我嘗試將這些值添加到其他列表的值中。所以現在我有:

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的第二個元素(一個帶數字),我想我必須將列表類型轉換爲整數,它會起作用,但是如何?謝謝 !

+0

我猜你的列表都必須包含嵌套的列表和整數,但你需要向我們展示你的實際名單時,請務必 –

+0

您的列表被初始化爲:'new_Data_list',但是你正在使用'newData_list'。這是一個錯字還是實際問題? –

+0

只是錯字,對不起,我會編輯 – GarennePb

回答

0

你可以用地圖和zip做到這一點:

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

輸出:

[5, 7, 9] 

嗯,我還試圖從它上面正常工作的代碼。 所以你的問題應該是列表中的值。它們不是整數,但它看起來更像是列表。

+0

我會盡力告訴你。事情是,我想確保我得到了我的列表中的整數,所以我做了一個類型(thing1)和類型(some1),我得到了類型int,所以.. – GarennePb

+0

我仍然有一個錯誤TypeError:只能連接列表不是「int」)列表 – GarennePb

+0

你能打印兩個列表並顯示輸出嗎? – Boendal

0

我只是在做這一點,似乎工作:

datalist[1] = map(int, datalist[1]) 
相關問題