source

Python 데이터 구조 정렬 목록(알파벳순)

nicesource 2022. 10. 25. 17:36
반응형

Python 데이터 구조 정렬 목록(알파벳순)

python의 데이터 구조에 대해 조금 혼란스럽습니다.(),[],그리고.{}단순한 리스트를 정렬하려고 합니다.데이터의 종류를 특정할 수 없기 때문에 정렬에 실패했을 가능성이 있습니다.

리스트는 간단합니다.['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue']

문제는 이것이 어떤 종류의 데이터인지, 그리고 단어들을 알파벳 순으로 정렬하는 방법입니다.

[]목록을 나타냅니다.()태플과{}사전을 나타냅니다.Python에서의 프로그래밍의 기본이 되는 공식 Python 튜토리얼을 보시기 바랍니다.

당신이 가지고 있는 건 끈 목록이에요.다음과 같이 정렬할 수 있습니다.

In [1]: lst = ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue']

In [2]: sorted(lst)
Out[2]: ['Eflux', 'Intrigue', 'Sedge', 'Stem', 'Whim', 'constitute']

보시는 바와 같이 대문자로 시작하는 단어는 소문자로 시작하는 단어보다 우선됩니다.이들을 개별적으로 정렬하려면 다음 절차를 수행합니다.

In [4]: sorted(lst, key=str.lower)
Out[4]: ['constitute', 'Eflux', 'Intrigue', 'Sedge', 'Stem', 'Whim']

다음과 같이 목록을 역순으로 정렬할 수도 있습니다.

In [12]: sorted(lst, reverse=True)
Out[12]: ['constitute', 'Whim', 'Stem', 'Sedge', 'Intrigue', 'Eflux']

In [13]: sorted(lst, key=str.lower, reverse=True)
Out[13]: ['Whim', 'Stem', 'Sedge', 'Intrigue', 'Eflux', 'constitute']

주의:Python 3을 사용한다면,str는 인간이 입력한 텍스트를 포함하는 모든 문자열의 올바른 데이터 유형입니다.그러나 Python 2로 작업해야 한다면 데이터 유형을 가진 유니코드 문자열을 처리할 수 있습니다.unicodePython 2에서는 사용할 수 없습니다.str이 경우 유니코드 문자열 목록이 있는 경우 다음과 같이 입력해야 합니다.key=unicode.lower대신key=str.lower.

Python 에는, 「리스트」라고 하는 기능이 짜넣어져 있습니다.이 함수는, 반복할 수 있는 리스트로부터 소트 된 리스트를 제공합니다(리스트 등).[1,2,3]( ); dict){1:2,3:4}다만, 키의 정렬 리스트(세트)를 반환할 뿐입니다.{1,2,3,4또는 태플((1,2,3,4))).

>>> x = [3,2,1]
>>> sorted(x)
[1, 2, 3]
>>> x
[3, 2, 1]

목록에는 정렬을 in-place로 실행하는 메서드도 있습니다(x.sort()는 None을 반환하지만 x 개체를 변경합니다).

>>> x = [3,2,1]
>>> x.sort()
>>> x
[1, 2, 3]

둘 다 1회 복용할 수 있습니다.key인수 - 정렬 기준을 변경할 때 사용할 수 있는 호출 가능(함수/함수)이어야 합니다.
예를 들어, 목록을 가져오려면(key,value)-값별로 정렬된 dict에서 다음 코드를 사용할 수 있습니다.

>>> x = {3:2,2:1,1:5}
>>> sorted(x.items(), key=lambda kv: kv[1])  # Items returns a list of `(key,value)`-pairs
[(2, 1), (3, 2), (1, 5)]

파이썬 리스트를 취급하고 있는 경우, 이것만큼 간단하게 분류할 수 있습니다.

my_list = ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue']
my_list.sort()

빌트인 사용 가능sorted기능.

print sorted(['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue'])

ListName.sort()알파벳 순으로 정렬합니다.추가할 수 있습니다.reverse=False/True항목 순서를 반대로 하려면 대괄호로 묶으십시오.ListName.sort(reverse=False)

>>> a = ()
>>> type(a)
<type 'tuple'>
>>> a = []
>>> type(a)
<type 'list'>
>>> a = {}
>>> type(a)
<type 'dict'>
>>> a =  ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue'] 
>>> a.sort()
>>> a
['Eflux', 'Intrigue', 'Sedge', 'Stem', 'Whim', 'constitute']
>>> 

언급URL : https://stackoverflow.com/questions/14032521/python-data-structure-sort-list-alphabetically

반응형