ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列のリストを並べ替える方法: 包括的なガイド

Python で文字列のリストを並べ替える方法: 包括的なガイド

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-13 01:39:02997ブラウズ

How to Sort Lists of Strings in Python: A Comprehensive Guide

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

プログラミングにおける一般的なタスクの 1 つは、テキスト データの並べ替えです。 Python では、さまざまな手法を使用して文字列のリストを並べ替えることができます。

基本的な並べ替え

最も簡単な方法は、リスト自体に対して sort() メソッドを使用することです。 。これにより、リストがその場で並べ替えられ、元の順序が変更されます。

mylist = ["b", "C", "A"]
mylist.sort()

並べ替えられたコピー

リストを変更せずに並べ替えられたリストのコピーを作成したい場合は、オリジナルの場合は、sorted() 関数を使用します。

for x in sorted(mylist):
    print(x)

ロケールを区別する並べ替え

デフォルトでは、Python は大文字と小文字を区別する ASCII のみの並べ替えを実行します。ロケール固有のルールを考慮するには、functools の cmp_to_key() ヘルパーで key パラメーターを使用します。

import locale
from functools import cmp_to_key
sorted(mylist, key=cmp_to_key(locale.strcoll))

カスタム ロケールの並べ替え

カスタム ロケールを指定できます仕分け用に。たとえば、UTF-8 エンコードを使用して英語のルールに従って並べ替えるには、次のようにします。

import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
# ...

大文字と小文字を区別しない並べ替え

大文字と小文字を区別する lower() などのメソッドの使用を避けます。これらは ASCII 文字に対してのみ機能するため、インセンシティブなソートが行われます。代わりに、strcoll() などのツールを使用してロケールに依存した並べ替えを利用してください。

大文字と小文字を区別しない不正な並べ替え

# Incorrect because it uses lower(), which is limited to ASCII
mylist.sort(key=lambda x: x.lower())

以上がPython で文字列のリストを並べ替える方法: 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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