Pythonで複数のキーでデータを、あいうえお順に並べ替える

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)

■実行・検証

スクリプトを作成後、このスクリプトを実行してみます。

実行してみると、漢字の場合は、あいうえお順(昇順)に並び替える,ソートさせることができませんでした。

コメント

タイトルとURLをコピーしました