あなたをソートした後、基本的にちょうどリストの各タプルのインデックス1にある要素を取得する動作をマッピングして、新しいリストを作成する必要があります。
あなたはリストの内包表記を使用して、各タプルの関心の要素にアクセスすることができます
>>> LoT
[(0, 'apple'), (1, 'pineapple'), (11, 'cherry'), (12, 'banana'), (13, 'mango'), (14, 'boot'), (15, 'mangosteen')]
:
>>> [t[1] for t in LoT]
['apple', 'pineapple', 'cherry', 'banana', 'mango', 'boot', 'mangosteen']
あなたはタプルのアンパックを使用することができます与えられた
>>> [b for _,b in LoT]
['apple', 'pineapple', 'cherry', 'banana', 'mango', 'boot', 'mangosteen']
どのタプルが2要素以外のものであれば失敗します。
また、あなたはzip
を使用することができます。
>>> list(zip(*LoT))[1]
('apple', 'pineapple', 'cherry', 'banana', 'mango', 'boot', 'mangosteen')
あなたはmapでitemgetterを使用することができます。
>>> list(map(itemgetter(1),LoT))
['apple', 'pineapple', 'cherry', 'banana', 'mango', 'boot', 'mangosteen']
のpython3を使用すると、最初の要素や周りmap
を添字しzip
周りlist
を使用する必要がありますそれを表示する。 Python 3のループやその他のフロー制御と組み合わせると、その必要はないでしょう。
最初の、[t[1] for t in LoT]
は、最も慣用的であり、最後のmap(itemgetter(1),LoT)
が最も速いかもしれません。
このデータ構造とは何ですか?私が "t [1] for LoT"を差し込むとき、私のコンソールは発電機のタイプだと言っています。 – Justin
コンソールに*正確に*私がやったことと動作するはずです。その後、そこからあなたのケースを使用して後方に作業します。あなたはリストの理解を得るために '[...]'を使う必要があります。 – dawg
私はそれをして、それは動作し、私は将来どのように参照するのだろうかと思っていた。ラディッシュは「タプルのアンパック」と呼ばれていますか? – Justin