Pythonで辞書式順序で単語を並べ替える
辞書式順序で単語を並べ替えるということは、単語の最初の文字で最初に並べ替えることを意味します。次に、最初の文字が同じである単語については、言語の辞書(データ構造ではない)と同じように、そのグループ内で2番目の文字で並べ替えます。
Pythonには2つの関数があり、このタイプの順序で並べ替えと並べ替えがあります。これらの各メソッドをいつどのように使用するかを見てみましょう。
インプレースソート:配列/リストをインプレースでソートする場合、つまり現在の構造自体の順序を変更する場合は、sortメソッドを直接使用できます。たとえば、
my_arr = [ "hello", "apple", "actor", "people", "dog" ] print(my_arr) my_arr.sort() print(my_arr)
これにより、出力が得られます-
['hello', 'apple', 'actor', 'people', 'dog'] ['actor', 'apple', 'dog', 'hello', 'people']
ここでわかるように、元の配列my_arrが変更されています。この配列をそのままにして、並べ替え時に新しい配列を作成する場合は、sortedメソッドを使用できます。たとえば、
例
my_arr = [ "hello", "apple", "actor", "people", "dog" ] print(my_arr) # Create a new array using the sorted method new_arr = sorted(my_arr) print(new_arr) # This time, my_arr won't change in place, rather, it'll be sorted # and a new instance will be assigned to new_arr print(my_arr)
出力
これにより、出力が得られます-
['hello', 'apple', 'actor', 'people', 'dog'] ['actor', 'apple', 'dog', 'hello', 'people'] ['hello', 'apple', 'actor', 'people', 'dog']
ご覧のとおり、元の配列は変更されていません。
-
Pythonを使用してアルファベット順に単語を並べ替える方法は?
文字列オブジェクトに1つのスペースで区切られた複数の単語が含まれていると仮定します。文字列クラスのsplit()メソッドは、スペース文字で区切られた単語のリストを返します。このリストオブジェクトは、組み込みリストクラスのsort()メソッドを呼び出すことによってソートされます >>> string='Hello how are you?' >>> list=string.split() >>> list ['Hello', 'how', 'are', 'you?'
-
Pythonでリスト内のオブジェクトを並べ替える方法は?
int、float、strings、chars、または__cmp__メソッドを実装したその他のクラスのリストを並べ替えるには、リストでsortを呼び出すだけで並べ替えることができます。リストを逆順(降順)でソートする場合は、reverseパラメーターも渡すだけです。 例 my_list = [1, 5, 2, 6, 0] my_list.sort() print(my_list) my_list.sort(reverse=True) print(my_list) 出力 これにより出力が得られます- [0, 1, 2, 5, 6] [6, 5, 2, 1, 0] タプルは不変であるため、タプル