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

それは特に便利な機能ではないと思います。角かっこを入力するのはとても難しいですか?なぜこれが必要なのかを説明していただければ、もっと役立つ答えが得られるかもしれません。

それでも、Python3でできる楽しいことがあります。

>>> (*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 に答える