>  기사  >  백엔드 개발  >  Python 코드 설명에서 사전 정렬을 구현하는 방법

Python 코드 설명에서 사전 정렬을 구현하는 방법

伊谢尔伦
伊谢尔伦원래의
2017-06-28 13:44:372047검색

이 글은 python사전 정렬의 구현 방법을 주로 소개하고, Python 사전 정렬 관련 기술을 예제와 함께 분석합니다. 필요한 친구는 참고할 수 있습니다.

이 글은 Python 사전 정렬 방법을 예제로 분석합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다:

1. 준비 지식:

파이썬에서 사전은 정렬되지 않은 저장 구조인 내장 데이터 유형입니다. 예를 들어. : dict = { 'username': 'password', 'database': 'master'}, 여기서 'username'과 'database'는 키이고 'password'와 'master'는 값입니다. d[key]
Quote를 통해 얻을 수 있지만 값을 통해 키를 얻을 수는 없습니다.

사전의 경우 다음 사항을 알아야 합니다.

a. 사전 키는 대소문자를 구분합니다. b 사전에는 순서가 없습니다. 요소 순서는 순서 쌍의 단순한 배열일 뿐입니다.


2. 사전 정렬 구현:

사전 자체에는 순서라는 개념이 없다고 앞서 설명했는데, 어떤 시점에서는 항상 발생하지만, 사전을 정렬해야 하는 경우가 종종 있습니다. 아래에서 알려드리겠습니다. 방법 1: 가장 간단한 방법은 요소(키/값 쌍)를 정렬한 다음 값을 선택하는 것입니다. 사전의 항목 메소드는 튜플 목록을 반환하며, 각 튜플은 항목 쌍(키와 해당 값)을 포함합니다. 이때 sort() 메소드를 이용하여 정렬할 수 있다.

def sortedDictValues1(adict):
  items = adict.items()
  items.sort()
  return [value for key, value in items]

방법 2: 키 배열 방법을 사용하여 값을 선택하는데 방법 1보다 빠릅니다. 사전

객체

의 키() 메서드는 사전에 있는 모든 키 값의 목록을 무작위 순서로 반환합니다. 정렬이 필요한 경우 반환된 키 값 목록에서 sort() 메서드를 사용하면 됩니다.

def sortedDictValues1(adict):
  keys = adict.keys()
  keys.sort()
  return [adict[key] for key in keys]

방법 3: 매핑 방법을 사용하여 마지막 단계를 더 효율적으로 수행합니다.

def sortedDictValues1(adict):
  keys = adict.keys()
  keys.sort()
  return map(adict.get,keys)
방법 4: 사전을 키별로 정렬하고 이를 튜플 목록 형식으로 반환한 다음 람다 함수를 사용합니다.

sorted(iterable[ , cmp [, key[, reverse]]]

cmp 및 key는 일반적으로 람다를 사용합니다

예:

>>> d={"ok":1,"no":2}#对字典按键排序,用元组列表的形式返回
>>> sorted(d.items, key=lambda d:d[0])
[('no', 2), ('ok', 1)]

사전을 값으로 정렬하고 튜플 목록 형식으로 반환합니다
>>> sorted(d.items, key=lambda d:d[1])
[('ok', 1), ('no', 2)]

정렬하는 방법은 여러 가지가 있지만 사전 요소는 여기에 있습니다. 포괄적인 요약은 없지만 프로그램 효율성에 대한 요구 사항이 높지 않은 경우 원하는 것을 선택하세요.

위 내용은 Python 코드 설명에서 사전 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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