辞書ソートリストがソート()メソッドとラムダオペレータ.itemgetter

レッツは、辞書の要素のリストを宣言します

data = [
    {'age': 31, 'city': 'taipei', 'name': 'amy'},
    {'age': 71, 'city': 'tokyo', 'name': 'john'},
    {'age': 16, 'city': 'london', 'name': 'zoe'},
    {'age': 16, 'city': 'rio', 'name': 'cathy'},
    {'age': 48, 'city': 'frankfurt', 'name': 'david'}]

シーケンス

私たちは、ソートソート、キーパラメータを持つ年齢のに従ってソートされる要素を指定し、ラムダに渡します

print(sorted(data, key=lambda x: x['age']))

出力:

[{'age': 16, 'city': 'london', 'name': 'zoe'},
 {'age': 16, 'city': 'rio', 'name': 'cathy'},
 {'age': 31, 'city': 'taipei', 'name': 'amy'},
 {'age': 48, 'city': 'frankfurt', 'name': 'david'},
 {'age': 71, 'city': 'tokyo', 'name': 'john'}]

Operator.itemgetterは、)同じ(分が適用され、キーとキーの機能、無名関数に一致する複数の同時シーケンシングのキーワードをサポートし、ファンクションキーが速くソート、無名関数をソートする代わりに、使用してソートMAX()、などが挙げられます単語

from operator import itemgetter
data = [
    {'age': 31, 'city': 'taipei', 'name': 'amy'},
    {'age': 71, 'city': 'tokyo', 'name': 'john'},
    {'age': 16, 'city': 'london', 'name': 'zoe'},
    {'age': 16, 'city': 'rio', 'name': 'cathy'},
    {'age': 48, 'city': 'frankfurt', 'name': 'david'}]
print(sorted(data, key=itemgetter('age')))

結果及び上記と同じ

[{'age': 16, 'city': 'london', 'name': 'zoe'},
 {'age': 16, 'city': 'rio', 'name': 'cathy'},
 {'age': 31, 'city': 'taipei', 'name': 'amy'},
 {'age': 48, 'city': 'frankfurt', 'name': 'david'},
 {'age': 71, 'city': 'tokyo', 'name': 'john'}]
公開された146元の記事 ウォン称賛66 ビュー50000 +

おすすめ

転載: blog.csdn.net/qq_38923792/article/details/103072659