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

Esempio di funzione di esplorazione e ordinamento di un dizionario in Python

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.

Ti potrebbe interessare