Pythonで複数のキーでデータを、あいうえお順に並べ替えてみます。
■Python
Google Colaboratory(Google Colab),Python3.7.10
■複数のキーでデータをあいうえお順に並び替える
では、早速、複数のキーでデータをあいうえお順に並び替えてみます。
■コード
peoples = [
{ '名前': 'あんどう', '年齢': 51 },
{ '名前': 'おかもと', '年齢': 32 },
{ '名前': 'うえだ', '年齢': 20 },
{ '名前': 'えもと', '年齢': 51 },
{ '名前': 'いとう', '年齢': 30 },
]
peoples.sort(key=lambda item: (item['名前'], item['年齢']))
print(peoples)今回は、角括弧”[ ]”を用いてpeoplesというリストを定義し、その中にさらに波括弧”{ }”でキーと値をコロン”:”を用いて格納します。
格納後、peoplesに対して、sort()関数を用います。関数内の括弧内には、引数,パラメータとして、「key=lambda」とし、lambda式を用い、itemという変数を設定し、今回はpeoples内の存在するキーである「名前」と「年齢」を返します。返されたものを昇順でソートします。ソートされた結果は、peoplesに格納されます。
最後に、print()関数でpeoples内の情報を出力します。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、今回複数のキーが存在するデータを、あいうえお順(昇順)に並び替える,ソートさせることができました。
■漢字の場合
では、次にデータ内のキーが漢字の場合はどうなるのかやってみます。
■コード
peoples = [
{ '名前': '安藤', "年齢": 67 },
{ '名前': '岡本', "年齢": 33 },
{ '名前': '上田', "年齢": 21 },
{ '名前': '柄本', "年齢": 67 },
{ '名前': '伊東', "年齢": 31 },
]
peoples.sort(key=lambda item: (item['名前'], item['年齢']))
print(peoples)■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、漢字の場合は、あいうえお順(昇順)に並び替える,ソートさせることができませんでした。




コメント