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로 작업해야 한다면 데이터 유형을 가진 유니코드 문자열을 처리할 수 있습니다.unicode
Python 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
'source' 카테고리의 다른 글
데이터 속성을 Vuex getter에서 반환된 값으로 설정하는 방법 (0) | 2022.10.25 |
---|---|
HeidiSQ 시작 시 액세스 거부 메시지l (0) | 2022.10.25 |
react-native를 사용하여 서버 없이 실행할 수 있는apk를 생성하려면 어떻게 해야 합니까? (0) | 2022.10.15 |
현재 사용 가능한 GPU를 텐서플로우에서 얻는 방법 (0) | 2022.10.15 |
동기화되지 않은 정적 메서드가 정적 클래스 변수를 수정하지 않는 경우 스레드 안전합니까? (0) | 2022.10.15 |