English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questo esempio mostra come implementare la funzione di scorrimento e ordinamento dei dizionari in Python. Condivido con tutti per riferimento, come segue:
Estrazione del dizionario:
Prima di tutto:
items():
Funzione: restituisce una lista di coppie chiave-valore del dizionario
esempio:
dict_={"a":2,"b":3,"c":6} dict_.items() >>>(('a',2),('b',3),('c',6))
iteritems():
Funzione: restituire oggetti iterabili di coppie chiave-valore
# -*- coding: cp936 -*- dict1={'a':1,'b':2,'c':3} #Primo caso: for d in dict1: print "%s:%d"%(d,dict1[d]) print #Secondo caso: for k,v in dict1.items(): print "%s:%d"%(k,v) print #Terzo caso: for k,v in dict1.iteritems(): print "%s:%d"%(k,v) print #Quarto caso: for k in dict1.iterkeys(): print "%s:%d"%(k,dict1[k]) print #Quinto caso: for v in dict1.itervalues(): print v print #Sesto caso: for k,v in zip(dict1.iterkeys(),dict1.itervalues()): print "%s:%d"%(k,v) print
La funzione zip() può combinare elenchi e creare una lista di coppie di tuple.
esempio:
list1=[1,2,3] list2=[4,5,6] zip(a,b) >>>(1,4),(2,5),(3,6)
La funzione zip() può accettare qualsiasi tipo di sequenza come argomento e può avere due o più argomenti. Quando la lunghezza degli argomenti in ingresso è diversa, zip tronca automaticamente in base alla lunghezza più breve per ottenere una tupla.
Ordinamento dizionario:
Prima di tutto:
funzione sorted(dic, value, reverse)
Procedura: il primo argomento viene passato al secondo argomento "chiave-valore", il secondo argomento estrae la chiave [0] o il valore [1]
dic è la funzione di confronto, value è l'oggetto di ordinamento (chiave o valore)
reverse indica l'ordinamento in ordine crescente o decrescente, i valori sono true-ordinamento decrescente e false-ordinamento crescente (valore predefinito)
esempio: ordinare le chiavi di un dizionario (sostituendo dict[1] con dict[0] si ordina per chiave)
sorted(dict.iteritems(),key=lambda dict:dict[1],reverse=True)
Spiegazione:
dict.iteritems() restituisce una lista di [(chiave, valore), (chiave, valore), (chiave, valore)...]. Poi, utilizzando il metodo sorted, viene specificato tramite il parametro key che l'ordinamento è in base al valore chiave, ovvero il valore del primo elemento d[1]. reverse=True indica che è necessario invertire (cioè ordinare in ordine decrescente), il valore predefinito è in ordine crescente.
La funzione lambda e la funzione iteritems()
lambda:
Funzione: creare funzioni anonime
esempio:
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():
Funzione: restituire oggetti iterabili di coppie chiave-valore
# -*- coding: cp936 -*- print "按字典键值进行排序" dict1={'a':3,'c':1,'b':2} #Ordine crescente: dict_a=sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=False) #Ordine decrescente: reverse=True , questo parametro può essere omesso, il valore predefinito è False. O alternativamente dict_a.reverse() print dict_a,"\n" #Ordine decrescente: dict2={'a':3,'c':1,'b':2} dict_b=sorted(dict2.iteritems(),key=lambda dict2:dict2[1],reverse=True) print dict_b,"\n" ############################################################## print "按字典键进行排序" dict3={'d':6,'e':5,'f':4} #Ordine decrescente: dict_c=sorted(dict3.iteritems(),key=lambda dict3:dict3[0],reverse=True) #Ordine decrescente: reverse=True , questo parametro può essere omesso, il valore predefinito è False. O alternativamente dict_a.reverse() print dict_c,"\n" #Ordine crescente: dict4={'d':6,'e':5,'f':4} dict_d=sorted(dict4.iteritems(),key=lambda dict4:dict4[0])#Cambia in ordine decrescente come sopra print dict_d,"\n"
PS: ecco un altro strumento di visualizzazione di sortimento che vi consiglio di consultare:
Strumento di visualizzazione animata online per l'inserimento / selezione / bubble / merge / shell / algoritmo di排序:
http://tools.jb51.net/aideddesign/paixu_ys
Chi è interessato a ulteriori contenuti relativi a Python può consultare le sezioni speciali di questo sito: 'Tutorial di strutture dati e algoritmi di Python', 'Sommarizzazione di tecniche di crittografia e decrittografia di Python', 'Sommarizzazione di tecniche di codifica di Python', 'Sommarizzazione di tecniche di utilizzo delle funzioni di Python', 'Riassunto di tecniche di manipolazione delle stringhe di Python' e 'Tutorial classico di introduzione e avanzamento di Python'.
Spero che il contenuto di questo articolo possa essere utile per la progettazione di programmi Python di tutti.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta agli autori originali, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di copyright, sei invitato a inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito cancellerà immediatamente i contenuti sospetti di copyright.