>  기사  >  백엔드 개발  >  Python에서 문자열을 정렬하는 방법: 내부, 복사본, 로케일 인식 및 사용자 정의 로케일?

Python에서 문자열을 정렬하는 방법: 내부, 복사본, 로케일 인식 및 사용자 정의 로케일?

DDD
DDD원래의
2024-11-10 17:26:03990검색

How to Sort Strings in Python: In-Place,  Copies, Locale-Aware, and Custom Locales?

Python에서 문자열 목록 정렬

프로그래밍에서 일반적인 작업 중 하나는 문자열 목록을 정렬하는 것입니다. Python에는 이를 달성하는 여러 가지 방법이 있으며 각각 고유한 장점과 주의 사항이 있습니다.

내부 정렬

가장 간단한 접근 방식은 정렬( ) 메서드를 목록에서 직접 확인할 수 있습니다. 이렇게 하면 원래 목록이 수정되어 해당 요소가 알파벳순으로 정렬됩니다. 그러나 목록의 원래 순서를 유지하려는 경우에는 이 접근 방식이 적합하지 않습니다.

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

정렬된 복사본 만들기

목록의 정렬된 복사본을 얻으려면 원본을 수정하지 않고 목록을 작성하려면 sorted() 함수를 사용하세요.

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

로컬 인식 정렬

위에 설명된 정렬 방법은 대소문자를 구분하지 않고 대소문자를 구분하지 않고 수행됩니다. 로케일 인식 정렬. 로케일별 규칙을 설명하기 위해 functools 모듈의 cmp_to_key() 도우미 함수와 함께 sort() 또는 sorted() 함수의 주요 매개 변수를 사용할 수 있습니다.

sorted(mylist, key=cmp_to_key(locale.strcoll))

이렇게 하면 정렬됩니다. 현재 로케일 설정에 따라 목록을 표시합니다.

사용자 정의 로케일

마지막으로 정렬을 위해 사용자 정의 로케일을 지정해야 하는 경우 다음에서 setlocale() 함수를 사용합니다. 로케일 모듈:

import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
sorted((u'Ab', u'ad', u'aa'), key=cmp_to_key(locale.strcoll))

위 내용은 Python에서 문자열을 정렬하는 방법: 내부, 복사본, 로케일 인식 및 사용자 정의 로케일?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.