恥は/dev/nullへ by 初心者

プログラミング素人がのろのろと学んだことをつづっています♪

[Python]リストの要素数を調べる、要素を並び替える

リストの要素数を調べる方法と、リストの要素を並び替える方法について学びました。


リストの要素数を調べる

リストの要素数を調べるにはlen()関数を使います。

コード

watches = ['lange', 'seiko', 'f.p.journe', 'patek', 'omega']
print(len(watches))

実行結果

5


要素の並び順を逆にする(上書き)

リストの並び順を逆にするにはreverseメソッドを使います。
なお、reverseメソッドはリストの並び順を「ただ逆にするだけ」であって、 文字コード順に逆にするわけではありません(ソート機能はありません)。

コード

watches = ['lange', 'seiko', 'f.p.journe', 'patek', 'omega']
watches.reverse()
print(f"\nリストの状態: {watches}")

実行結果

リストの状態: ['omega', 'patek', 'f.p.journe', 'seiko', 'lange']


reverseメソッドはリストの順番を逆にして上書きします。
しかし、もう一度reverseメソッドを使えば元の順番に戻るのでうっかり使っても困ることはなさそうです。

リストをソートする

リストの要素をソートするものとして、sorted関数とsortメソッドがあります。
sorted関数は要素の順序を一時的に並び替えるだけです。それに対し、sortメソッド は要素の順序を並び替え、上書きします。

コード

watches = ['lange', 'seiko', 'f.p.journe', 'patek', 'omega']

print(f"リストの状態0: {watches}")

# sorted()関数でリストを一時的に並び替える
print(f"\nsorted()を使用:{sorted(watches)}")

print(f"\nリストの状態1: {watches}")


# sort()メソッドでリストを並び替える(上書き変更)
watches.sort()
print(f"\nsort()メソッドを使用")

print(f"\nリストの状態2: {watches}")
print(f"sort()メソッドを利用すると並び順は上書きされる。")

実行結果

リストの状態0: ['lange', 'seiko', 'f.p.journe', 'patek', 'omega']

sorted()を使用:['f.p.journe', 'lange', 'omega', 'patek', 'seiko']

リストの状態1: ['lange', 'seiko', 'f.p.journe', 'patek', 'omega']

sort()メソッドを使用

リストの状態2: ['f.p.journe', 'lange', 'omega', 'patek', 'seiko']
sort()メソッドを利用すると並び順は上書きされる。


ソート時の注意点

sorted関数やsortメソッドを使った並び替えは文字コード順になるので、 並び替え対象が小文字だけの場合大文字が含まれている場合とで異な る結果になります。