Python 3 输入到二维列表

Python 3 Input to 2D List

我正在尝试输入 3 个数字,然后将它们保存到二维列表中。

例如。

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)

我也需要它们是整数,这样我以后可以用它们做数学运算,但我不知道如何做到这一点并将输入同时保存到二维列表中。

拆分不修改原件

in = in.split()

Eric 的回答稍微扩展一下,因为您还要求 ints。

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

请注意,我将输入重命名为 nos,因为 in 是保留的 Python 关键字 - 我什至只是在这里使用它。将变量命名为与关键字相同绝不是一个好主意。替代版本:

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

第一行与 Eric 的相同,但我遍历列表并将每个值转换为整数。

好吧,出于某种原因,这两个家伙都给了你一些奇怪的方式来做这件事,不太确定为什么不直接实例化一个二维数组,然后从那里开始。即

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.

这是最好的直接方式。可以通过列表理解来完成整个事情,但不太确定这是否会让你比我想要的更困惑。

编辑: 前进的要点是为您提供您输入给定列表的索引。