Pythonで角括弧を使用せずにリストを初期化する方法はありますか?
たとえば、次のような関数はありますlist_cons
か?
x = list_cons(1, 2, 3, 4)
と同等です:
x = [1, 2, 3, 4]
Pythonで角括弧を使用せずにリストを初期化する方法はありますか?
たとえば、次のような関数はありますlist_cons
か?
x = list_cons(1, 2, 3, 4)
と同等です:
x = [1, 2, 3, 4]
In [1]: def list_cons(*args):
...: return list(args)
...:
In [2]: list_cons(1,2,3,4)
Out[2]: [1, 2, 3, 4]
それは特に便利な機能ではないと思います。角かっこを入力するのはとても難しいですか?なぜこれが必要なのかを説明していただければ、もっと役立つ答えが得られるかもしれません。
それでも、Python3でできる楽しいことがあります。
>>> (*x,) = 1, 2, 3, 4, 5
>>> x
[1, 2, 3, 4, 5]
括弧を省略してもかまいません-同様に*x, = 1, 2, 3, 4, 5
機能します。
リストコンストラクターを使用して、タプルを渡します。
x = list((1,2,3,4))
Python 2.xでのみ機能します:
>>> def list_cons(*args):
return map(None,args)
>>> list_cons(1,2,3,4)
[1, 2, 3, 4]