파이썬에서 사전은 내장된 데이터 유형이자 정렬되지 않은 저장 구조이며 각 요소는 키-값 쌍입니다.
예: dict = {'username': 'xiaoming', 'password': '123456'}, 여기서 'username'과 'password'는 키이고 'xiaoming'과 '123456'은 값입니다. d[key]를 통해 해당 값 값에 대한 참조를 얻을 수 있지만, 값을 통해 키를 얻을 수는 없습니다.
사전의 경우 다음 사항을 알아야 합니다.
a. 사전의 키는 대소문자를 구분합니다.
b 사전에는 중복된 키가 있을 수 없습니다. unordered 에는 요소 순서 개념이 없으며 단지 순서 쌍의 단순한 배열일 뿐입니다.
사전은 키/값으로 정렬됩니다.
사전 자체에는 순서 개념이 없지만 항상 어느 시점에 있지만 사전을 정렬해야 하는 경우가 많습니다.
방법 1: 키 값으로 정렬 .
def sortedDictValues1(adict): items = adict.items() print "items:",items items.sort() return [value for key, value in items] adict = {"a1":11,"b1":2,"c1":30,"e1":20,"d1":4} print sortedDictValues1(adict) items: [('a1', 11), ('c1', 30), ('e1', 20), ('b1', 2), ('d1', 4)] [11, 2, 30, 4, 20]
방법 2: 키 값으로 정렬
def sortedDictValues2(adict): keys = adict.keys() keys.sort() return [dict[key] for key in keys]
방법 3: 키 값으로 정렬
def sortedDictValues3(adict): keys = adict.keys() keys.sort() return map(adict.get, keys)
방법 4: 한 줄 문
[(k,di[k]) for k in sorted(di.keys())]
def sort_by_value(d): items=d.items() backitems=[[v[1],v[0]] for v in items] backitems.sort() return [ backitems[i][1] for i in range(0,len(backitems))]
방법 6: 값 기준 정렬
[ v for v in sorted(di.values())]
키로 정렬
print sorted(dict1.items(), key=lambda d: d[0])
print sorted(dict1.items(), key=lambda d: d[1]) python内置sorted函数的帮助文档: sorted(…) sorted(iterable, cmp=None, key=None, reverse=False) –> new sorted list
방법 8: PYTHON의 COLLECTION 시리즈 - 순서가 지정된 사전(ORDEREDDICT)
orderdDict는 사전 요소가 추가되는 순서를 유지하는 사전 유형에 대한 보완입니다
import collections dic = collections.OrderedDict() dic["featureName"] = "f1" dic["uId"] = "12345" dic["value"] = "7" print dic #结果 #OrderedDict([('featureName', 'f1'), ('uId', '12345'), ('value', '7')])
위 내용은 Python 사전을 정렬할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!