我需要将用户输入放在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())
答案 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')])