3

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

例如,是否有这样的功能list_cons

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

相当于:

x = [1, 2, 3, 4]
4

4 回答 4

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

In [2]: list_cons(1,2,3,4)
Out[2]: [1, 2, 3, 4]
于 2012-07-03T20:23:07.210 回答
6

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

不过,您可以在 Python 3 中做一件有趣的事情:

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

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

于 2012-07-03T20:29:50.037 回答
6

使用列表构造函数并传递一个元组。

x = list((1,2,3,4))
于 2012-07-03T20:23:07.897 回答
1

仅适用于python 2.x

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

>>> list_cons(1,2,3,4)
[1, 2, 3, 4]
于 2012-07-03T20:26:47.897 回答