python分解列表

时间:2011-06-12 01:41:46

标签: python list operators

我记得我曾经见过一个能够在python中分解列表的运算符。

例如

[[1],[2],[3]]

通过应用该运算符,您得到

[1], [2], [3]

该运营商是什么,任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:13)

如果要将参数列表传递给函数,可以使用splat运算符*。以下是它的工作原理:

list = [1, 2, 3]
function_that_takes_3_arguments(*list)

如果要将列表内容分配给变量,可以列出解包:

a, b, c = list # a=1, b=2, c=3

答案 1 :(得分:2)

您可以使用tuple函数将列表转换为元组。具有三个元素的元组与三个独立元素没有任何不同,但它提供了一种方便的方式来处理所有三个元素。

li = [[1], [2], [3]]
a, b, c = tuple(li)
print a  # [1]

答案 2 :(得分:1)

OP问题的正确答案:“将[[1],[2],[3]]转换为[1], [2], [3]的”运算符是tuple(),因为[1], [2], [3]是一个元组。内置函数tuple会将任何序列或迭代转换为元组,尽管很少需要这样做,因为正如已经指出的那样,解压缩列表就像解包元组一样简单:

a, b, c = [[1],[2],[3]]

给出与

相同的结果
a, b, c = tuple([[1],[2],[3]])

这可能不是OP想要的,但它是问题的正确答案。

答案 3 :(得分:0)

这可以通过按照here提交sum(list_name,[])来实现。

您也可以在flattening shallow lists相关的问题上找到此问题。