问题描述
|
我记得我曾经见过一个能够分解python中的列表的运算符。
例如
[[1],[2],[3]]
通过应用该运算符,您将获得
[1],[3]
该操作员是什么,将不胜感激。
解决方法
如果要将参数列表传递给函数,可以使用splat运算符
*
。运作方式如下:
list = [1,2,3]
function_that_takes_3_arguments(*list)
如果要将列表的内容分配给变量,则可以列出解压缩列表:
a,b,c = list # a=1,b=2,c=3
, 您可以使用tuple
函数将列表转换为元组。具有三个元素的元组与三个单独的元素实际上并没有什么不同,但是它提供了一种方便的方式来将所有三个元素一起使用。
li = [[1],[2],[3]]
a,c = tuple(li)
print a # [1]
, 对OP问题的正确答案:将列表[[1],[3]]
转换为[1],[3]
的\“ what is that operator \”是tuple()
,因为[1],[3]
是一个元组。内置函数tuple
可以将任何序列或可迭代的对象转换为元组,尽管很少需要这样做,因为正如已经指出的那样,对列表进行拆包与对元组进行拆包一样容易:
a,c = [[1],[3]]
给出与以下结果相同的结果
a,c = tuple([[1],[3]])
这可能不是OP想要的,但它是所问问题的正确答案。
, 这可以通过运行sum(list_name,[])
来实现,如此处所述。
您还可以在展平浅表时发现此问题。