2015-11-30 54 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. 

这是做这件事最好的直接方式。可以通过列表理解来完成整个事情,但是不太确定这是否会让你比我想象的多一点。

编辑: 这个前进的要点是给你输入给定列表的索引。