\

Pythonには、リストや他の反復可能なオブジェクトをソートするための組み込み関数sortedがあります。この関数は非破壊的で、元のオブジェクトを変更せずに新しいソートされたリストを返します。

基本的な使用方法

# 数値のリストをソート
list1 = [4, 3, 1, 2]
sorted_list1 = sorted(list1)
print(sorted_list1)  # => [1, 2, 3, 4]

# 文字列をソート
string1 = 'FDACBE'
sorted_list2 = sorted(string1)
print(sorted_list2)  # => ['A', 'B', 'C', 'D', 'E', 'F']

キーワード引数

sorted関数は、キーワード引数keyreverseを取ることができます。

  • keyは比較対象のキーを設定し、デフォルトのソート挙動を変更することができます。
  • reverseはソート順序を変更することが可能です。
# key引数を使用して文字列のリストを小文字でソート
list1 = ['Kiwi', 'Banana', 'Apple', 'apple', 'kiwi', 'banana']
sorted_list2 = sorted(list1, key=str.lower)
print(sorted_list2)  # => ['Apple', 'apple', 'Banana', 'banana', 'Kiwi', 'kiwi']

注意点

sorted関数は非破壊的な関数であるため、元のオブジェクトには変化がありません。しかし、リストオブジェクトを破壊的に並び替えたい場合(呼び出し元のリスト自体を直接並び替える)は、list.sortメソッドの使用を検討してください。

# list.sortメソッドを使用した例
a = [4, 1, 2, 6]
a.sort()
print(a)  # => [1, 2, 4, 6]

以上、Pythonの非破壊的ソートについての基本的な情報を提供しました。これらの知識を活用して、Pythonでのデータ操作をより効率的に行ってください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です