2015-11-30 59 views
0

我想輸入3個數字,然後將它們保存到2-D列表中。Python 3輸入到2D列表

ex。

Input: 1 2 3 
Input: 4 5 6 
Input: 7 8 9 

= [[1,2,3], [4,5,6], [7,8,9]] 

當我嘗試輸入添加到列表中我得到這個:

['1 2 3', '4 5 6', '7 8 9'] 
myList=[] 
in=input("3 numbers:") 
myList.append(in) 

while in!= "": 
    in=input("Enter 3 numbers: ") 
    in.split() 
    myList.append(in) 

我需要他們整數太所以後來我可以做數學與他們,但我不知道如何做到這一點,並同時將輸入保存到2d列表中。

+1

你確定'in'是一個合法的變量名嗎? – Eric

回答

0

埃裏克的回答有點擴展,因爲你還要求int秒。

nos = list(int(x) for x in nos.split()) 

注意,我改名爲輸入nos,因爲in是一個保留Python關鍵詞 - 我甚至只是用在這裏。從來沒有一個好主意將變量命名爲與關鍵字相同。替代版本:

nos = nos.split() 
for x in nos: 
    x = int(x) 

第一行與Eric's相同,但是我遍歷列表並將每個值轉換爲整數。

0

拆分不修改原始

in = in.split() 
0

好吧,出於某種原因,這兩個傢伙都給你一些奇怪的做法,不太清楚爲什麼不實例化一個2D數組,然後從那裏開始。即

imp = [[] for x in range(3)] #Instantiate it 
for i in range(3): 
    for k in range(3): 
     imp[i].extend([int(input("Value at["+str(i)+"]["+str(k)+"]:"))]) #Input your own values 
print(imp)#Display the array. 

這是做這件事最好的直接方式。可以通過列表理解來完成整個事情,但是不太確定這是否會讓你比我想象的多一點。

編輯: 這個前進的要點是給你輸入給定列表的索引。