【问题标题】:How to create a nested list with list comprehensions如何使用列表推导创建嵌套列表
【发布时间】:2019-12-28 15:37:51
【问题描述】:

我想从输入数字生成一个嵌套的 2 级列表。该行的结尾是“输入”。

a = [[i for i in input().split()] for i in input().split (sep = '\ n')]

在这种情况下,这只需要第二行。 例如:

1 2 3
4 5 6
7 8 9

会这样输出:

[['4', '5', '6']]

我想得到这样的最终结果:

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

帮助找出错误。谢谢。

【问题讨论】:

  • '\ n'\` and n` 之间的空格是拼写错误还是实际上在您的代码中?
  • 其次,您可能希望先将输入保存到字符串中,而不是从列表理解中调用input()
  • 您打算如何在一次调用input() 时获得多行输入?

标签: python list list-comprehension


【解决方案1】:

一种方法是:

[x.split() for x in data.splitlines()]

或者,如果您希望这些项目是 int

[[int(x) for x in x.split()] for x in data.splitlines()]

【讨论】:

    【解决方案2】:

    代码:

    a = [[j for j in i.split()] for i in input().split(sep = '\n')]
    

    您希望内部列表枚举外部列表的元素。 此外,删除多余的空格。

    【讨论】:

    • 感谢您的回答! [['1', '2', '3']] 这几乎是我需要的。但它只输出第一行,其余不输出。
    猜你喜欢
    • 2017-02-17
    • 2012-08-09
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多