Python入門 `sort()`と`sorted()`の違いがわかりません

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パラメータ値に基づいて並べ替えたりするために使用されます。

書籍の紹介

Python入門 リストの要素を削除したいのですが?

Python入門 リストの要素を削除したいのですが?

Python入門 `next()`関数はどんなときに使うのですか

Python入門 `next()`関数はどんなときに使うのですか