파이썬에서 사전을 정렬하는 방법은 무엇인가요?
사전을 정렬하시겠습니까? 이것은 실제로 잘못된 제안입니다. Python 사전의 정의를 알아보세요. 사전 자체는 기본적으로 키의 문자 순서로 출력되고 표시됩니다. 우리가 사용하는 실제 사전과 마찬가지로 키의 순서로 정렬됩니다. ABCD 문자, 그리고 본질적으로 각각 순서 관계가 없으며 해시 테이블 구조입니다.
그러나 실제 응용 프로그램에서는 정렬에 대해 이런 종류의 "필요"가 있습니다. -----값 값에 따라 출력을 "정렬"하거나 다른 이상한 순서로 출력하면 사전을 다음으로 변환하기만 하면 됩니다. 목록 또는 튜플, 사전에 있는 각 키 값 쌍을 두 자리 목록 또는 목록의 하위 튜플로 변환한 다음 출력하면 목표를 달성할 수 있습니다.
예:
d1 = {'a':1,'c':4,'b':2,'d':3} d2 = {2:1,3:4,4:2,1:5,5:3} d3 = {'01': {'name': '电脑', 'price': 3000}, '02': {'name': '鼠标', 'price': 50}, '03': {'name': '洗发水', 'price': 30}, '04': {'name': '微波炉', 'price': 998}, '05': {'name': '手机', 'price': 1500}}
관련 권장 사항 : "Python Video Tutorial"
요구 사항 1: 사전의 키/값에 따라 출력 정렬
방법 1: 정렬 기능 사용
sorted(d1.items(),key = lambda x:x[0],reverse = True) # reverse = True:是递减顺序输出,不写默认是升序输出 key = lambda x:x[0]表示在d1.items()的输出内容中的第一列作为排序依据,如果是按照value排序则改成x[1]即可。
d1/d2 사전은 비교적 간단하고 이해하기 쉽습니다. .d3과 같은 중첩된 사전을 처리하는 방법을 살펴보겠습니다. 정렬:
sorted(d.items(),key=lambda x:x[1]['price'])
방법 2: 연산자 내장 모듈 사용
import operator sorted(d1.items(),key = operator.itemgetter(1))
이 모듈의 현재 실험은 다음과 같은 데이터 구조에 성공하지 못했습니다. d3.
위 내용은 파이썬에서 사전을 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!