sort()
とsorted()
の違いがわかりません
sort()
は元のリスト自体を書き換えます
l = [3, 1, 4, 5, 2]
l.sort()
print(l)
# [1, 2, 3, 4, 5]
反転する場合は、reverseをTrueにします。
l.sort(reverse=True)
print(l)
# [5, 4, 3, 2, 1]
sorted()
はソートされたリストを返却する関数です。
l = [3, 1, 4, 5, 2]
l_sorted = sorted(l)
print(l_sorted)
# [1, 2, 3, 4, 5]
print(l)
# [3, 1, 4, 5, 2]
反転する場合は、reverseをTrueにします。
l_reverse_sorted = sorted(l, reverse=True)
print(l_reverse_sorted)
# [5, 4, 3, 2, 1]
print(l)
# [3, 1, 4, 5, 2]
keyを使ってソートの基準を変更することもできます
l = [-3, 1, 4, -5, 2]
print(sorted(l))
# [-5, -3, 1, 2, 4]
print(sorted(l, key=abs))
# [1, 2, -3, 4, -5]
l = ['b', 'cc', 'aaa']
print(sorted(l))
# ['aaa', 'b', 'cc']
print(sorted(l, key=len))
# ['b', 'cc', 'aaa']
sorted()
関数は、文字列、リスト、タプルなどを昇順または降順で並べ替えたり、単一または複数のkey
パラメータ値に基づいて並べ替えたりするために使用されます。