Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 값으로 사전 정렬

사전은 정렬되지 않은 데이터 구조입니다. 매핑 구조를 사용하여 데이터를 저장합니다. 사전은 키를 값에 매핑하여 관련 데이터를 보유하는 쌍을 만듭니다.

Python sorted() 사용 메소드를 사용하면 사전의 내용을 값으로 정렬할 수 있습니다. 예를 들어, 커피 메뉴에서 항목의 인기도를 순위 지정하려면 Python의 sorted()를 사용할 수 있습니다. 방법. 이 튜토리얼은 sorted() 메서드의 작동 방식과 사전의 내용을 정렬하는 데 사용할 수 있는 방법.

Python sorted() 새로 고침

파이썬의 내장 sorted() 함수는 목록, 튜플 및 사전과 같은 반복 가능한 개체를 정렬하는 데 사용할 수 있습니다. sorted() 함수는 지정된 반복 가능한 객체의 항목을 정렬하고 새로 정렬된 값으로 새 객체를 생성합니다.

다음은 sorted()의 구문입니다. 방법:

sorted(object, key, reverse)

이 메서드는 세 가지 매개변수를 사용합니다.

  • 개체 :정렬하려는 반복 가능한 객체(필수)
  • :사용자 정의 정렬 작업을 수행할 수 있는 기능(선택 사항)
  • 역방향 :객체를 내림차순으로 정렬할지 여부를 지정합니다(선택 사항)

보시다시피 object 유일한 필수 매개변수입니다. 선택적 key를 사용하지 않기로 결정한 경우 및 reverse 매개변수를 지정하면 Python이 자동으로 개체를 오름차순으로 정렬합니다.

참고:Career Karma는 sort()에 대한 전체 가이드를 작성했습니다. 및 sorted() 파이썬의 메소드. 이 방법과 key에 대해 자세히 알아보려면 매개변수는 Python sort() 자습서를 확인하세요.

sorted() 방법이 작동합니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

우리가 커피숍을 운영 중이고 Coffee Club의 알파벳순 목록을 검색하고 싶다고 가정해 보겠습니다. (충성도) 고객. 이미 고객 목록이 있지만 가입 날짜순으로 정렬됩니다. 다음 코드를 사용하여 목록을 정렬할 수 있습니다.

customers = ['Kaley Fernandez', 'Darius Rowland', 'Isaac Borthwick',  'Alexandria Kidd']

sorted_customers = sorted(customers)

print(sorted_customers)

우리의 코드는 customers을 정렬합니다. 배열을 반환하고 다음을 반환합니다.

['Alexandria Kidd', 'Darius Rowland', 'Isaac Borthwick', 'Kaley Fernandez']

코드의 첫 번째 줄에서 고객의 이름을 저장하는 목록을 선언합니다. 이 목록을 고객이라고 합니다. 그런 다음 sorted()를 사용합니다. 오름차순으로 고객 이름 목록을 정렬하는 방법; 이 새 목록의 이름은 sorted_customers입니다. . 마지막으로 print()를 사용하여 새로 정렬된 목록을 콘솔에 출력합니다. 함수.

값으로 사전 정렬

사전이 있고 이를 키-값 쌍으로 정렬하려고 한다고 가정해 보겠습니다. items() 두 함수를 함께 사용하여 이를 수행할 수 있습니다. 및 sorted() .

items() 함수를 사용하면 사전에서 항목을 검색할 수 있습니다. 이 함수를 sorted()와 함께 사용할 수 있습니다. 기능 및 사용자 정의 key 값으로 사전을 정렬하는 매개변수입니다. 다음 두 가지 예를 고려하십시오.

예시 1:내림차순으로 정렬

다시 커피숍으로 돌아가자. 커피 메뉴의 항목과 지난 달에 주문한 각 항목의 수를 저장하는 사전이 있다고 가정합니다. 지난달에 가장 인기 있는 커피가 무엇인지 확인하기 위해 주문 사전을 값의 내림차순으로 정렬하기로 결정했습니다.

다음은 사전의 내용을 값으로 정렬하는 데 사용할 수 있는 프로그램입니다.

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])

코드는 다음을 반환합니다.

espresso 72
latte 56
cappuccino 54
americano 48
cortado 41

코드에서 많은 일이 진행 중이므로 분해해 보겠습니다.

코드 시작 부분에서 orders라는 사전을 정의합니다. 커피 이름을 로 저장 으로 판매된 숫자 .

그런 다음 sorted()를 사용합니다. orders을 정렬하는 방법 값으로 사전. 다음은 sorted()를 사용한 방법에 대한 분석입니다. 방법:

매개변수 텍스트 설명
개체 orders.items() "주문" 사전의 모든 값을 나타냅니다. "주문"만 사용한다면 개별 값을 얻기 위해 항목의 인덱스 위치를 참조해야 합니다. 반면 order.items()를 사용하면 목록의 항목이 있는 반복 가능한 목록이 생성됩니다.
키=람다 x:x[1] 정렬 메커니즘 이를 통해 사전을 값으로 정렬할 수 있습니다. 이름이 없는 함수인 Lambda 함수의 예입니다.
역방향 reverse=참 데이터가 내림차순으로 정렬되기를 원한다고 명시합니다.

마지막으로 for를 생성합니다. sort_order에서 생성된 각 항목을 반복하는 루프 sort_order에서 지정한 순서대로 정렬된 키 이름과 값을 모두 출력합니다. 기능.

예시 2:오름차순 정렬

유사하게, 우리 커피숍에서 판매되는 가장 인기 있는 음료를 찾으려면 위와 동일한 코드를 사용할 수 있지만 reverse=True는 제외됩니다. 매개변수. 다음은 이에 대한 코드의 예입니다.

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])

코드를 실행하면 다음 값이 반환됩니다.

cortado 41
americano 48
cappuccino 54
latte 56
espresso 72

보시다시피 코드는 지난 달에 주문한 각 항목의 수를 기준으로 오름차순으로 정렬된 항목 목록을 반환했습니다.

목록 이해

또한 목록 이해를 사용하여 사전 내용을 값으로 정렬할 수 있습니다. 목록 이해는 Python에서 목록을 만드는 간결한 기술이며 더 복잡한 정렬 방법을 만드는 경우 공간을 절약할 수 있습니다.

다음은 목록 이해를 사용하여 주문한 각 커피의 번호를 기준으로 커피 주문을 오름차순으로 정렬하는 데 사용할 코드입니다.

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])]

코드를 실행하면 다음 응답이 반환됩니다.

cortado 41
americano 48
cappuccino 54
latte 56
espresso 72

우리 코드의 결과는 orders의 내용을 정렬한 위의 예와 동일합니다. 오름차순으로 나열하십시오. 그러나 sort_orders를 정의하는 대신 변수 및 별도의 for 생성 루프를 사용하여 정렬된 목록을 반복하기 위해 목록 이해 기술을 사용하여 목록을 만들었습니다.

위에서 만든 목록 이해는 목록의 각 항목을 오름차순으로 정렬한 다음 각 사전 항목의 키와 값을 콘솔에 출력합니다.

결론

Python에서 사전으로 작업할 때 값으로 사전을 정렬하는 것은 일반적인 작업입니다. sorted() 방법을 사용하면 필요에 따라 데이터 세트를 정렬할 수 있습니다.

이 자습서에서는 sorted()를 사용하는 방법과 예제를 제공하여 설명했습니다. key 사용 방법을 포함하여 Python에서 값으로 사전을 정렬하는 방법 및 reverse 매개변수.

이제 Python 전문가처럼 값을 기준으로 사전을 정렬할 준비가 되었습니다!