python リスト(配列)を並び替える

python リスト(配列)を並び替える

pythonで、リスト(配列)と呼ばれるデータ構造の値を昇順と降順に並び替えるするサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • python 3.7.6

並び替え

値を並び替えるには、sortを使用します。

lst = [8 , 6 , 2 , 1 , 3]

lst.sort()

print(lst) # [1, 2, 3, 6, 8]

降順にする場合は「reverse=True」を使用します。

lst = [8 , 6 , 2 , 1 , 3]

lst.sort(reverse=True)

print(lst) # [8, 6, 3, 2, 1]

並び替えるリストを変更したくない場合は「sorted」を使用します。

lst = [8 , 6 , 2 , 1 , 3]

sortlst = sorted(lst)

print(lst) # [8, 6, 2, 1, 3]
print(sortlst) # [1, 2, 3, 6, 8]

降順にする場合は、同様に「reverse=True」を使用します。

lst = [8 , 6 , 2 , 1 , 3]

sortlst = sorted(lst, reverse=True)

print(lst) # [8, 6, 2, 1, 3]
print(sortlst) # [8, 6, 3, 2, 1]

絶対値で並び替えることも可能です。

lst = [8 , -6 , -2 , 1 , 3]

sortlst = sorted(lst, reverse=True, key=abs)

print(lst) # [8, -6, -2, 1, 3]
print(sortlst) # [8, -6, 3, -2, 1]

文字列も並び替えることできます。

lst = ['B', 'E', 'A', 'C', 'a', 'D', 'Y', 'c']

sortlst = sorted(lst)

print(lst)  # ['B', 'E', 'A', 'C', 'a', 'D', 'Y', 'c']
print(sortlst)  # ['A', 'B', 'C', 'D', 'E', 'Y', 'a', 'c']