【问题标题】:Python: how to add remaining list elements to list, similar to unpack?Python:如何将剩余的列表元素添加到列表中,类似于解包?
【发布时间】:2015-10-19 06:53:53
【问题描述】:

我有一个列表,它可以有不同的大小,但它总是有第一项。我写了这样的理解:

return {
    'index': [[i[0][7:], i[1], i[2], i[3]] for i in columns if i[0].startswith("index::")]
}

i[1], i[2], i[3] 部分可能会有所不同。它可以有 0 个或更多大小,我需要将它们指定为列表元素。

类似

return {
    'index': [[i[0][7:], *i[1:]] for i in columns if i[0].startswith("index::")]
}

会很棒。

输入:

[['index::test', '1', '2', '3']]
[['index::test', '1', '2', '3', '5']]
[['index::test']]

输出:

[['index', '1', '2', '3']]
[['index', '1', '2', '3', '5']]
[['index']]

【问题讨论】:

  • 请发布示例输入和输出!

标签: python list unpack


【解决方案1】:

如果我没听错的话,你想使用[i[0][7:]] + i[1:]。

【讨论】:

  • 在您的示例中,第一部分是字符串,第二部分是列表。它会产生错误。我想修改第一项并保持其他所有内容不变。
  • 然后做[i[0][7:]] + i[1:]。
【解决方案2】:

好的,感谢您提供输入/输出数据。 然后,正如 BrenBarn 和 Anand S Kumar 所建议的那样

return {
        'index': [[i[0][7:]]+i[1:]] for i in columns if i[0].startswith("index::")]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多