しろちゃのプログラミング日記

プログラミング初心者が勉強したことを書き留めるブログ

Python関数紹介!!リストの並べ替え sort/sorted編

はじめに

この記事では、Pythonの並べ替えの関数「sort」「sorted」について紹介します


「sort」と「sorted」の違い

両者の違いは二点あります

記述の仕方と、

新しい変数を作成するか、元の変数を変更するのか、

です


汎用関数「sorted」

書き方としては「print」と同じです

シンプルですね

>>> color = ['red','blue','赤','あか','アカ','アオ','青']
>>> print(color)
['red', 'blue', '赤', 'あか', 'アカ', 'アオ', '青']
>>> sorted_color = sorted(color)
>>> print(sorted_color)
['blue', 'red', 'あか', 'アオ', 'アカ', '赤', '青']

sorted関数は元の関数を変更することなく

並び替え後の新たな関数を作成します


つまり、並び替えた関数は変更されません

手動で変数の値を更新するか

別の変数を用意することが必要です

>>> print(color)
['red', 'blue', '赤', 'あか', 'アカ', 'アオ', '青']

リスト関数「sort」

リスト型専用の関数「sort」では

「sorted」とは記述の仕方が異なります

>>> color = ['red','blue','赤','あか','アカ','アオ','青']
>>> color.sort()
>>> print(color)
['blue', 'red', 'あか', 'アオ', 'アカ', '赤', '青']
>||

上記の通り、記述の方法は

>|python|
color.sort()

「変数名ドットsort()」です

元の変数の値は更新されることに注意してください


順序の変更

引数「reverse = True」を追加すれば

順序を逆にすることができます

>>> color.sort(reverse = True)
>>> print(color)
['青', '赤', 'アカ', 'アオ', 'あか', 'red', 'blue']

並び替えの順序は?

両方の関数とも同じで、

並び替えの順序は次のようになります

アルファベットA~Z→平仮名あ~ん→片仮名ア~ン→漢字(追加した順)

なおint型とfloat型は混ぜても正常に動作しますが、

str型と数字を混ぜて実行しようとするとエラーになります


さいごに

読んで下さった方、本当にありがとうございます!

今回はPythonの関数を紹介しました

まとめを書くのがめんどくさかった大変だったので、今回はなしにしてみます


さいごに、私が今使っている参考書を紹介しておきますね

「入門 Python 3」Bill Lubanovic著

Pythonの参考書の中では、かなり王道の参考書です!

Python3の情報は大方網羅されているので、とてもおすすめですよ!

商品ページ↓

入門Python 3 [ ビル・ルバノビック ]

詳しい紹介記事↓
ai-shirocha.hatenablog.com