Python –指定された文字列のリストを文字列の数値部分で並べ替えます
文字列の特定のリストを文字列の数値部分で並べ替える必要がある場合は、正規表現と「findall」メソッドが使用されます。
例
以下は同じのデモンストレーションです-
import re def my_num_sort(my_str): return list(map(int, re.findall(r'\d+', my_str)))[0] my_list = ["pyth42on", '14is', '32fun', '89to', 'lea78rn'] print("The list is :") print(my_list) my_list.sort(key=my_num_sort) print("The result is :") print(my_list)
出力
The list is : ['pyth42on', '14is', '32fun', '89to', 'lea78rn'] The result is : ['14is', '32fun', 'pyth42on', 'lea78rn', '89to']
説明
-
必要なパッケージが環境にインポートされます。
-
文字列をパラメータとして受け取るメソッドが定義されています。
-
「findall」メソッドを使用して、特定のパターンに一致するものを見つけます。
-
これは、「map」メソッドを使用して文字列に変換されてから、「list」に変換されます。
-
これは、メソッドの出力として返されます。
-
メソッドの外部では、文字列のリストが定義され、コンソールに表示されます。
-
リストは、以前に定義されたメソッドとしてのキーに基づいてソートされます。
-
このリストは、コンソールに出力として表示されます。
-
Pythonの日付文字列リストを並べ替える方法は?
sort関数を使用してPythonの日付文字列リストをソートするには、オブジェクトの日付を変換して、それらにソートを適用する必要があります。このために、sort関数の属性という名前のキーを使用して、各日付の日時オブジェクトを作成し、この日付オブジェクトに基づいてそれらを比較するラムダを提供できます。 例 from datetime import datetime my_dates = ['5-Nov-18', '25-Mar-17', '1-Nov-18', '7-Mar-17'] my_dates.sort(key=lambd
-
Pythonで文字列のリストを並べ替える方法は?
リストを適切に並べ替える、つまりリスト自体を並べ替え、そのリスト自体の順序を変更するには、文字列のリストでsort()を使用できます。たとえば、 >>> a = ["Hello", "My", "Followers"] >>> a.sort() >>> print a ['Followers', 'Hello', 'My'] 元のリストをそのまま維持し、代わりにソートされた要素の新しいリストが必要な場合は、sorted(list)を