以下を返す最もコンパクトな方法は何ですか。
タプルのリストを指定して、最初の(または2番目の、重要ではない)要素で構成されるリストを返します。
にとって:
[(1,'one'),(2,'two'),(3,'three')]
返されるリストは
[1,2,3]
両方が必要な場合はzipを使用してください
>>> r=(1,'one'),(2,'two'),(3,'three')
>>> zip(*r)
[(1, 2, 3), ('one', 'two', 'three')]
>>> tl = [(1,'one'),(2,'two'),(3,'three')]
>>> [item[0] for item in tl]
[1, 2, 3]
>>> mylist = [(1,'one'),(2,'two'),(3,'three')]
>>> [j for i,j in mylist]
['one', 'two', 'three']
>>> [i for i,j in mylist]
[1, 2, 3]
これはリスト内包表記を使用しています (このリンクを見てください)。mylist
そのため、 の要素、設定i
、およびj
タプルの 2 つの要素を順番に繰り返し処理します。これは実質的に次のものと同等です。
>>> newlist = []
>>> for i, j in mylist:
... newlist.append(i)
...
>>> newlist
[1, 2, 3]
これも試すことができます..
dict(my_list).keys()