例
レッツは、辞書の要素のリストを宣言します
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'}]