Pythonでリストをソートする方法
スポンサーリンク
このドキュメントの内容は、以下の通りです。
はじめに
データを扱っていると、データの並び順を変更したくなることがあります。アルファベット順だったり、数字順だったり、数字でも降順がよかったり、昇順が良かったり、ファイルだったら新しい順が良かったり、古い順が良かったり、ファイルが大きい順だったり、小さい順だったり、と扱うものや場合によって、求められる並び順は変わってきます。ファイルであれば、unixの世界では、sortコマンドを活用することが多いのではないでしょうか。巨大なファイルに対して、sortコマンドを叩いたら、 MacBook Pro のファンが物凄い音でなり始めたりして、しかもコマンドが一向に終わる気配がない、なんてことも起こりがちです。
Pythonでの単純なリストのソート
Python では、データに対して、 sort() を利用して、データの並べ替えを行えます。以下に簡単な例を示します。リストを用いて、データを並べ替えて、表示するサンプルコードです。>>> d = [9, 1, 3] >>> d.sort() >>> d [1, 3, 9]以上のように、簡単にデータを並べ替えることができます。
多次元リストの単純なソート
データ自体に何の意味もありませんが、多次元のリスト(この場合は、二次元のリスト)もソートできます。[[70, 5], [80, 4], [10, 9], [30, 1]]それでは、上記のデータをソートしてみましょう。リストの中に、リストがあり、それぞれ、2つのデータが入っています。リストの中のリストの1つ目の値でソートする例です。
>>> d = [[70, 5], [80, 4], [10, 9], [30, 1]] >>> d.sort() >>> d [[10, 9], [30, 1], [70, 5], [80, 4]]このように、sort()を呼び出すだけで、データが1つ目の値でソートされました。
多次元リストの2つ目の値でのソート
リストの中にリストが入っている、多次元のリストの場合の単純はソートについては、上記で説明しました。今度は、リストの中のリストの2つ目の値でソートする例をご覧に入れます。ここでは、ラムダ式(lambda)を使用します。ラムダ式で、ソートするキーは2つ目の値(x[1])ですよ、と指定することで、sorted()は、data を2つ目の値でソートするようになります。
data = [[70, 5], [80, 4], [10, 9], [30, 1]] data2 = sorted(data, key=lambda x: x[1]) print(data2)上記を実行すると以下のデータを得られます。
[[30, 1], [80, 4], [70, 5], [10, 9]]
以上のように、ラムダ式(lambda)を使うことで、簡単に多次元リストのデータをソートできます。
リストの中にタプルが入っている場合のソート
以下のように、リストの中にタプルが入っている場合でも、上記の方法で簡単にソートできます。data = [(70, 5), (80, 4), (10, 9), (30, 1)]
以下のように単純にソートできます。
data.sort()
また、二次元リストのように、ラムダ式を使って、2つ目の値でソートすることもできます。
data = [(70, 5), (80, 4), (10, 9), (30, 1)] data2 = sorted(data, key=lambda x: x[1])
まとめ
Pythonのリストや多次元リストのデータを- sort()
- sorted() で簡単にソートできます。
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12