【问题标题】:Python list input errorPython列表输入错误
【发布时间】:2015-05-01 14:47:52
【问题描述】:
grid = []
for _ in range(3):
    grid.append(raw_input().split())

输入:

000
000
000

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

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

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

【问题讨论】:

  • 您也可以尝试更改输入格式,尝试0 0 0,上面的代码将按预期工作。
  • 你的代码好像没有这个输出:[['000'], ['000'], ['000']],当我运行你的代码,输入9个0,输出好像是这样的:[['000000000']]

标签: python list python-2.7


【解决方案1】:

你有:

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

你想要:

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

【讨论】:

    【解决方案2】:

    您没有在每个 0 之间放置一个空格,因此您不会拆分任何内容,只需在 raw_input 上调用 list:

    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'],因为没有要拆分的分隔符、没有空格等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 2020-04-16
      • 2014-10-17
      相关资源
      最近更新 更多