English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Beispiel zur Durchsuchung und Sortierung eines Wörterbuchs in Python

Dieser Artikel erläutert die Implementierung der Durchsuchung und Sortierung von Dictionaries in Python. Hierzu möchte ich alle Interessierten zur Verfügung stellen, genauer gesagt:

Datenbankdurchsuchung:

首先:

items():

Funktion: Listenausgabe von Dictionary-Schlüssel-Wert-Paaren

eg:

dict_={"a":2,"b":3,"c":6}
dict_.items()
>>>[('a',2),('b',3),('c',6)]

iteritems():

功能:以迭代器对象返回字典键值对

# -*- coding: cp936 -*-
dict1={'a':1,'b':2,'c':3}
#第一种:
for d in dict1:
  print "%s:%d"%(d,dict1[d])
print
#第二种:
for k,v in dict1.items():
  print "%s:%d"%(k,v)
print
#第三种:
for k,v in dict1.iteritems():
  print "%s:%d"%(k,v)
print
#第四种:
for k in dict1.iterkeys():
  print "%s:%d"%(k,dict1[k])
print
#第五种:
for v in dict1.itervalues():
  print v
print
#第六种:
for k,v in zip(dict1.iterkeys(),dict1.itervalues()):
  print "%s:%d"%(k,v)
print

zip()函数可以把列表合并,并创建一个元祖对的列表。

eg:

list1=[1,2,3]
list2=[4,5,6]
zip(a,b)
>>>[(1,4),(2,5),(3,6)]

zip()函数参数可以是任何类型的序列,也可以有两个以上的参数,当传入参数的长度不同时,zip自动以最短序列长度为准进行截取,获得元祖。

字典的排序:

首先:

函数sorted(dic,value,reverse)

过程:第一个参数传递给第二个参数“键-键值”,第二个参数取出其中的键[0]或键值[1]

dic为比较函数,value为排序对象(键或者键值)

reverse注明升序排序或是降序排序,值有true-降序和false-升序(默认值)

eg:按字典的键值排序(把dict[1]换成dict[0]就是按字典的键排序)

sorted(dict.iteritems(),key=lambda dict:dict[1],reverse=True)

解释说明:

dict.iteritems()得到[(键,键值),(键,键值),(键,键值)...]的列表。然后用sorted方法,通过key这个参数指定排序是按照键值,也就是第一个元素d[1]的值来排序。reverse=True表示需要翻转的(即降序排序),默认是升序排序。

函数lambda与函数iteritems()

lambda:

功能:创建匿名函数

eg:

fun_1=lambda a:a+1
print fun_1(1)
>>>2
fun_2=lambda a,b:a+2*b
fun_2(1,1)
>>>3

iteritems():

功能:以迭代器对象返回字典键值对

# -*- coding: cp936 -*-
print "按字典键值进行排序"
dict1={'a':3,'c':1,'b':2}
#Aufsteigend:
dict_a=sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=False) 
#Absteigend sortieren reverse=True, dieser Parameter kann weggelassen werden, Standard ist False. Oder dict_a.reverse()
print dict_a,"\n"
#Absteigend:
dict2={'a':3,'c':1,'b':2}
dict_b=sorted(dict2.iteritems(),key=lambda dict2:dict2[1],reverse=True)
print dict_b,"\n"
##############################################################
print "Sortieren nach Dictionary-Schlüssel"
dict3={'d':6,'e':5,'f':4}
#Absteigend:
dict_c=sorted(dict3.iteritems(),key=lambda dict3:dict3[0],reverse=True) 
#Absteigend sortieren reverse=True, dieser Parameter kann weggelassen werden, Standard ist False. Oder dict_a.reverse()
print dict_c,"\n" 
#Aufsteigend:
dict4={'d':6,'e':5,'f':4}
dict_d=sorted(dict4.iteritems(),key=lambda dict4:dict4[0])#in umgekehrter Reihenfolge geändert
print dict_d,"\n"

PS: Hier wird noch ein weiteres Demonstrationswerkzeug für die Sortierung empfohlen, das zur Referenz dienen kann:

Online-Animationsdemonstration des Einfügens/Auswählen/Blasen/Mergen/Shell/Werkzeug für den Prozess des schnellen Sortieralgorithmus:
http://tools.jb51.net/aideddesign/paixu_ys

Interessierte Leser können weitere Inhalte zu Python unter den Themen: "Python-Datenstrukturen und Algorithmen-Lehrbuch", "Python-Verschlüsselungsalgorithmen und -Techniken zusammengefasst", "Python-Codierungstechniken zusammengefasst", "Python-Funktionstechniken zusammengefasst", "Python-String-Bearbeitungstechniken zusammengefasst" und "Python-Einsteiger- und Fortgeschrittene-Lehrbuch" finden.

Wir hoffen, dass dieser Artikel allen bei der Programmgestaltung in Python helfen kann.

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrechtsinhaber. Der Inhalt wurde von Internetbenutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie übernimmt auch keine rechtlichen Verantwortlichkeiten. Wenn Sie verdächtige urheberrechtliche Inhalte finden, freuen wir uns über eine E-Mail an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @, wenn Sie eine Meldung senden, und fügen Sie relevante Beweise bei. Sobald überprüft, wird diese Website den涉嫌侵权的内 容立即删除。)

Dir gefällt vielleicht