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

时间:2015-10-19 06:53:53

标签: python list unpack

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

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']]

2 个答案:

答案 0 :(得分:1)

如果我理解你,你想使用[i[0][7:]] + i[1:]

答案 1 :(得分:1)

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

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