我记得我曾经见过一个能够在python中分解列表的运算符。
例如
[[1],[2],[3]]
通过应用该运算符,您得到
[1], [2], [3]
该运营商是什么,任何帮助将不胜感激。
答案 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相关的问题上找到此问题。