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:如何将剩余的列表元素添加到列表中,类似于解包?的主要内容,如果未能解决你的问题,请参考以下文章