2015-05-01 90 views
4
grid = [] 
for _ in range(3): 
    grid.append(raw_input().split()) 

输入:Python列表输入错误

000 
000 
000 

输出[['000'], ['000'], ['000']]

如何更改我的代码以获取输出?

[['0','0','0'], ['0','0','0'],['0','0','0']]

+0

您也可以尝试改变输入格式为好,尽量'0 0 0'和上面的代码将按预期工作。 – ZdaR

+0

看来你的代码没有这个输出:'[['000'],['000'],['000']]',当我运行你的代码时,输​​入9个0,输出看起来就是这个:'[['000000000']]' –

回答

10

您有:

"000".split() == ["000"] 

你想:

list("000") == ["0", "0", "0"] 
3

你是不是把每一个0的之间的空间,所以你不拆什么,只是致电名单上raw_input:

grid = [list(raw_input())] 
for _ in range(3): 
    grid.append(list(raw_input())) 

您也可以使用列表比较:

grid = [list(raw_input()) for _ in range(3)] 

如果你想拆就需要与之间的空隙进入0 0 0

In [1]: "0 0 0".split() 
Out[1]: ['0', '0', '0'] 

试图分裂"000"回报['000']因为没有分隔符分割的,没有空格等。