[('d', 100), ('c', 99), ('a', 89), ('b', 86)]如何快速得出['d','c','a','b']
1 2 3 4 |
|
感觉好low,有什么好的办法吗?
其实在用Python中在刷leetcode来学习
题目:https://leetcode.com/problems/top-k-frequent-elements/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
怪我咯2017-04-17 17:45:28
これは非常に簡単です。リスト内包表記を使用するだけです。
リーリー私はあなたの元の質問を見て、簡潔なバージョンを書きました。それを参照してください:
(Python2.7+、Python3 に適用可能)
:
を使用します リーリー効果:
リーリー説明:
Python 2.7 以降のバージョンの場合、collections
ライブラリで使用できるクラス Counter
があります。
詳しい操作方法はCounterオブジェクトを参照
Counter(lst)
を使用すると、Counter
内の要素が既にカウントされている lst
インスタンスを簡単に取得できます。
の後は、most_common(k)
メソッドを使用して簡単にソートされたタプルのリストを取得できます。最後に、list comprehension
を使用して要素自体を削除します。 >
リーリー