見出し画像

【Python】まだあった!リストの要素を昇順で並べる別の方法:Sortメソッド

こんにちは!本日も「リストの要素を昇順で並べ替える」ことを試みます。前回記事では、Sorted関数を使う方法をご紹介しました。

今回は、リストがもっているメソッドを使用します。リストを並べ替えるという目的は、同じです。が、ちょっとだけ、だけど、大切な違いがあるので、そこを確認してみましょう😆。

使い方は簡単だ!

リストが持っているメソッドで、昇順の並べ替えを実現できるものは、次の通りです。

リスト.sort( )

うーん、これだけで並べ替えってできちゃうんですね。改めてバブルソートなどの並べ替えコードを書く意味がないですね(実用では)😅。なお、並べ替えを若干カスタマイズする方法がありますが、この記事では省略します。では、試しに使ってみよう!

あれ、戻り値がない?

サンプルのコードとして準備したものは、次のとおりです。5つの数値で構成されるリストを並べ替えます。

リストaをSortメソッドで並び替えて、それをbに代入して出力する、、、つもりでしたが、何かおかしいですね。

「リストaは、並び替えられているけど、bには何もないみたいよ😑」

あ~そのようです。そしてここが、本日のハイライトです!

Sortメソッドには、戻り値がないんですね。Sorted関数にはあったのに、です。まとめると、Sortメソッドは、
・別のリストを生成しない(戻り値がない)。
・リストは、加工される。

のです。これがSorted関数との重要な違いです。

ですから、単にリストaを並べ替えたいのなら、次のように書けばよかったんですね。これでうまくいきました~🙂

ということで、Sortメソッドのお話でした。目的に応じて、Sorted関数とSortメソッドをうまく使い分けたいですね。

短いですが、本日のコードです。

a = [3,5,4,1,2]

#実際にはsortメソッドに戻り値がありません。
b = a.sort()

print(a)
print(b)

では、ビーダゼーン!

※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。

いいなと思ったら応援しよう!