有没有办法在Python中不使用方括号来初始化列表?

时间:2012-07-03 20:21:09

标签: python functional-programming

有没有办法在Python中不使用方括号来初始化列表?

例如,是否有像list_cons这样的函数:

x = list_cons(1, 2, 3, 4)

相当于:

x = [1, 2, 3, 4]

4 个答案:

答案 0 :(得分:11)

In [1]: def list_cons(*args):
   ...:     return list(args)
   ...: 

In [2]: list_cons(1,2,3,4)
Out[2]: [1, 2, 3, 4]

答案 1 :(得分:6)

使用列表构造函数并将其传递给元组。

x = list((1,2,3,4))

答案 2 :(得分:6)

我认为这不是一个特别有用的功能。输入括号这么难吗?如果您解释为什么要这样做,也许我们可以给您一个更有用的答案。

但是,在Python 3中你可以做一些有趣的事情:

>>> (*x,) = 1, 2, 3, 4, 5
>>> x
[1, 2, 3, 4, 5]

您甚至可以省略括号 - *x, = 1, 2, 3, 4, 5也可以。

答案 3 :(得分:1)

仅适用于 python 2.x

>>> def list_cons(*args):
       return map(None,args)

>>> list_cons(1,2,3,4)
[1, 2, 3, 4]