ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列のリストを数値的に並べ替えるにはどうすればよいですか?

Python で文字列のリストを数値的に並べ替えるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-20 09:50:101052ブラウズ

How to Numerically Sort a List of Strings in Python?

Python での文字列リストの数値並べ替え

sort() 関数を使用して Python で文字列のリストを数値的に並べ替えようとすると、次のような結果が生じる可能性があります。予想外の結果。 Python の文字列のデフォルトの並べ替えアルゴリズムは、多くの場合、数値ではなくアルファベット順です。

文字列のリストを数値的に並べ替えるには、まず文字列を整数に変換する必要があります。ただし、提供されているコード スニペットは文字列を整数に変換しようとしますが、変換された値を並べ替えには利用しません。

正しいアプローチは、リスト内包表記を使用して文字列を整数に変換することです:

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1 = [int(x) for x in list1]

文字列が整数に変換されたら、sort() を使用してリストを並べ替えることができます。 function:

list1.sort()

これにより、リストは数値の昇順にソートされます。

あるいは、要素を文字列として保持する必要がある場合は、キー関数を使用して次のことを行うことができます。比較基準を指定します。 key 関数は、比較される前に各要素に対して呼び出され、要素自体ではなく戻り値が比較に使用されます。

list1.sort(key=int)

これにより、リストも数値的に並べ替えられますが、要素はそのまま残ります。文字列。

以上がPython で文字列のリストを数値的に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。