以下を返す最もコンパクトな方法は次のとおりです。python - タプルの最初のインデックスのリストを取得しますか?
タプルのリストが与えられた場合、タプルの最初の(または2番目の、重要ではない)要素からなるリストを返します。
:これはlist comprehension (have a look at this link)を使用している
[1,2,3]
以下を返す最もコンパクトな方法は次のとおりです。python - タプルの最初のインデックスのリストを取得しますか?
タプルのリストが与えられた場合、タプルの最初の(または2番目の、重要ではない)要素からなるリストを返します。
:これはlist comprehension (have a look at this link)を使用している
[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]
[(1,'one'),(2,'two'),(3,'three')]
返されたリストには次のようになります。したがって、mylist
の要素を反復し、タプルの2つの要素に順番に、i
とj
を設定します。それが効果的に等価です:
>>> newlist = []
>>> for i, j in mylist:
... newlist.append(i)
...
>>> newlist
[1, 2, 3]
あなたは説明できますか? – user1413824
それは[list comprehension]です(http://docs.python.org/tutorial/datastructures.html#list-comprehensions) –
@ user1413824 - それを少し説明するために更新しました:) – fraxel
が必要な場合は、あまりにもこれを試すことができます。..
dict(my_list).keys()
これはPython 3で動作しますか? – bourbaki4481472
@ bourbaki4481472はい、Python 3で:list(zip(* r)) –