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)
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、漢字の場合は、あいうえお順(昇順)に並び替える,ソートさせることができませんでした。
コメント