如何在Python中接受多维列表中的用户输入?

时间:2017-08-19 07:59:37

标签: python python-3.x

我需要将用户输入放在python中的多维列表中。我是Python新手。一些用户输入将是

11001111
10001100
11000000

我需要将它们放在列表中

a[[1,1,0,0,1,1,1,1],[1,0,0,0,1,1,0,0],[1,1,0,0,0,0,0,0]]

我做什么。它完全没用了

for i in range(3):
    for b in range(7):
        a[i][b] = int(input())

4 个答案:

答案 0 :(得分:3)

您可以一次读取一行并处理单个字符:

for i in range(3):
    line = input()
    for b in range(7):
        a[i][b] = int(line[b])

或者你可以一次阅读一个角色:

sys.stdin.read(1)

答案 1 :(得分:1)

如果您接受用户每​​次输入21位数字+输入,那么您所做的工作虽然不是最好的方式,但看起来很像C代码。

然而,它并非无用,只要你正确初始化你的二维数组就行了,例如:

a = [[0]*7 for _ in range(3)]

这将创建3个7个元素的列表。你可以用你发布的这个确切的循环来读/写它们。

如果你想阅读3行单位数字,你可以像使用双列表理解一样:

a = [[int(x) for x in input()] for _ in range(3) ]

答案 2 :(得分:0)

尝试这样做:

a = []
for i in range(3):
    k = raw_input()
    a.append([int(j) for j in k])

print a

答案 3 :(得分:0)

这也可以起作用:

a = []
for x in range(3):
    a.append([int(let) for let in input('enter number:\n')])