Python:如何将剩余的列表元素添加到列表中,类似于解包?

Posted

技术标签:

【中文标题】Python:如何将剩余的列表元素添加到列表中,类似于解包?【英文标题】:Python: how to add remaining list elements to list, similar to unpack? 【发布时间】: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']]

【问题讨论】:

请发布示例输入和输出! 【参考方案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::")]

【讨论】:

以上是关于Python:如何将剩余的列表元素添加到列表中,类似于解包?的主要内容,如果未能解决你的问题,请参考以下文章

如何将所有数组的元素添加到python中的一个列表中[重复]

如何将整数添加到列表中的每个元素?

python如何将列表中的元素添加进字典

如果缺少,Python将元素添加到列表中的列表

python循环里的列表怎样添加到循环外

在列表中添加元素