how work with python dictionary tutorial with code examples
Aquest tutorial explica com crear un diccionari Python juntament amb els mètodes per accedir, afegir, modificar, suprimir i repetir mitjançant dades emmagatzemades en un diccionari:
En aquest Python Training for All , vam fer una ullada a les preguntes més freqüents Preguntes sobre l'entrevista Python . Aquest tutorial explica tot sobre diccionaris a Python juntament amb exemples senzills.
Un diccionari a Python és una col·lecció de parells clau-valor. Cada clau està connectada al valor i podeu utilitzar-la per accedir al valor associat a aquesta clau.
Una clau pot ser un número / cadena i el valor de la clau pot ser un número, una cadena, una llista o fins i tot un altre diccionari.
Es pot trobar un exemple en temps real de diccionari al final de qualsevol llibre, on es donen temes segons el número de pàgina. Aquí es pot considerar un número de pàgina com a clau i els temes es poden considerar com a valors.
Què aprendreu:
- Com es crea un diccionari a Python?
- Com accedir a valors en un diccionari Python?
- Com es poden afegir nous parells de valor-clau al diccionari?
- Com es poden modificar els valors del diccionari?
- Com es poden suprimir els parells de valor-clau d'un diccionari?
- Iterate Through Python Dictionary
- Nidificant en els diccionaris de Python
- Conclusió
- Lectura recomanada
Com es crea un diccionari a Python?
Python Dictionary es crea de la manera següent:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'}
Cada clau està connectada al seu valor mitjançant dos punts i els parells clau-valor individuals estan separats per comes. Podeu emmagatzemar qualsevol nombre de parells clau-valor en un diccionari.
Com accedir a valors en un diccionari Python?
Per accedir a un valor associat a la clau del diccionari, heu de donar el nom del diccionari seguit de la clau entre claudàtors.
Entrada:
què és la prova de regressió al programari
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} print(Students('001'))
Sortida:
Joan
Podeu accedir a diversos valors del diccionari de la manera següent:
Entrada:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} print(Students('001'),Students('002')) # Accessing multiple values
Sortida:
John Jane
Com es poden afegir nous parells de valor-clau al diccionari?
Els diccionaris són dinàmics i podem afegir qualsevol número de parells clau-valor nous a un diccionari existent.
Afegim 2 estudiants nous al Diccionari existent.
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} Students('005')='Shane' Students('006')='Melisa'
Així doncs, donem la següent entrada:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} Students('005')='Shane' Students('006')='Melisa' print(Students)
La sortida serà:
{'001 ′:' John ',' 002 ′: 'Jane', '003 ′:' Rahul ',' 004 ′: 'Riya', '005 ′:' Shane ',' 006 ′: 'Melisa'}
Ara també podem accedir als parells clau-valor afegits recentment:
Entrada:
print(Students('005'))
Sortida:
Shane
Com es poden modificar els valors del diccionari?
Per modificar un valor en un diccionari, hem de donar el nom del diccionari seguit de la clau entre claudàtors i, a continuació, del valor nou associat a aquesta clau.
Suposem que al diccionari següent:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'}
Volem canviar el valor associat a la clau 001 a David, i simplement ho podem fer de la següent manera.
Students('001') = 'David'
En executar el programa:
Entrada:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'} Students('001') = 'David' print(Students('001'))
Sortida:
David
Com es poden suprimir els parells de valor-clau d'un diccionari?
En cas que ja no necessiteu una informació emmagatzemada en un diccionari, podeu eliminar o suprimir aquesta informació del diccionari mitjançant l'ordre del.
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'}
Per exemple, volem eliminar - '004': 'Riya' del diccionari anterior, i simplement podem fer-ho mitjançant l'ordre següent:
del Students('004')
Ara, en donar l'entrada:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'} del Students('004') print(Students)
La sortida serà:
{'001': 'John', '002 ′:' Jane ',' 003 ′: 'Rahul', '005 ′:' Shane ',' 006 ':' Melisa '}
Nota: Els diccionaris no segueixen cap seqüència particular. Així, quan executeu el programa, podeu obtenir la sortida en diferents seqüències.
Per exemple,
{'005': 'Shane', '003': 'Rahul', '002': 'Jane', '006': 'Melisa', '001': 'John'}
Exercici:
Escriviu un programa per crear un Diccionari d’empleats que inclogui el seu DNI i el seu nom. Més endavant, afegiu alguns empleats i actualitzeu la informació d'un dels empleats i suprimiu la informació de l'empleat que abandona l'organització.
# Creació d'un diccionari d'empleats
Employees = { 'Emp_001': 'Rahul Khanna', 'Emp_002': 'Surbhi Jain', 'Emp_003': 'Maria Sharapova' } print(Employees)
# Recuperació de la informació del segon empleat
print(Employees('Emp_002'))
# Afegir dos empleats més
Employees('Emp_004')='Ricky Martin' Employees('Emp_005')='Sanaya Malhotra'
# Imprimeix el diccionari per comprovar si s'actualitzen els empleats
print(Employees)
# Actualització de la informació d’Emp_003: canvi de nom per Maria Curie
Employees('Emp_003')='Maria Curie'
# Verificació de la informació actualitzada
print(Employees('Emp_003'))
# Suprimeix l'empleat 1
del Employees('Emp_001') print(Employees)
Sortida:
{'Emp_001': 'Rahul Khanna', 'Emp_002': 'Surbhi Jain', 'Emp_003': 'Maria Sharapova'}
Surbhi Jain
{'Emp_001': 'Rahul Khanna', 'Emp_002': 'Surbhi Jain', 'Emp_003': 'Maria Sharapova', 'Emp_004': 'Ricky Martin', 'Emp_005': 'Sanaya Malhotra'}
Maria Curie
{'Emp_002': 'Surbhi Jain', 'Emp_003': 'Maria Curie', 'Emp_004': 'Ricky Martin', 'Emp_005': 'Sanaya Malhotra'}
Iterate Through Python Dictionary
Com que els diccionaris poden contenir una gran quantitat de dades, Python us permet recórrer el diccionari. Els diccionaris poden emmagatzemar informació de diverses maneres, de manera que podeu recórrer el diccionari de diferents maneres. Podeu fer un bucle a través dels parells clau-valor en un diccionari, mitjançant les claus o els seus valors.
- Com fer un bucle entre els parells clau-valor del diccionari?
Prenguem un exemple d’un nou diccionari que s’utilitza per emmagatzemar informació sobre jugadors de futbol, el seu nom, alçada i pes.
Player_1 = { 'Name': 'Peter', 'Height' : '5ft 9inch', 'Weight' : '82 Kg' }
Com ja sabeu, podeu accedir a una sola informació basada en el que heu après fins ara, però, com accedir a tota la informació alhora? Podeu utilitzar loop for loop a través del Diccionari.
for key,value in Player_1.items(): print('
Key:' +key) print('Value:' +value)
Com podeu veure per escriure un bucle for per al diccionari, heu de crear dues variables que continguin una clau i un valor respectivament. Aquí hem pres els noms de variables com a clau i valor, però podríem haver pres qualsevol nom de variable com k, v.
No hi haurà cap diferència en la sortida si escrivim el nostre codi de la següent manera:
for k,v in Player_1.items(): print('
Key:' +k) print('Value:' +v)
La següent part de la sentència For inclou el nom del diccionari seguit del mètode items (), que retorna una llista dels parells clau-valor. El bucle For emmagatzema cadascun d’aquests parells en les dues variables proporcionades. A l'exemple anterior, fem servir les variables per imprimir cada clau, seguit del valor associat.
La ' n' de la primera instrucció d'impressió garanteix que s'insereixi una línia en blanc abans de cada parell clau-valor de la sortida :
protecció de tallafocs gratuïta per a Windows 10
Clau: nom
Valor: Peter
Clau: Alçada
Valor: 5 peus 9 polzades
Clau: pes
Valor: 82 Kg
- Com fer un recorregut per totes les tecles del diccionari?
Per recórrer totes les claus d’un diccionari, podeu utilitzar el mètode de claus. Fem un recorregut per totes les claus del següent diccionari.
Player_1 = { 'Name': 'Peter', 'Height' : '5ft 9inch', 'Weight' : '82 Kg' } for attributes in Player_1.keys(): print(attributes.title())
La declaració per als atributs de Player_1.keys () indica a Python que extregui totes les tecles del diccionari Player_1 i que les emmagatzemi una per una al nom de la variable.
El programa produeix la següent sortida:
Nom
Alçada
Pes
Si donem la nostra aportació de la manera següent:
for attributes in Player_1: print(attributes.title())
No hi haurà cap diferència en la sortida, ja que el comportament predeterminat del diccionari és el bucle a través de les tecles.
- Com fer un recorregut per tots els valors del diccionari?
Si el vostre propòsit és obtenir tots els valors d’un diccionari, podeu utilitzar el mètode de valors.
Diguem que al diccionari següent, només volem obtenir el nom de l’alumne.
Students = { '001':'John', '002':'Jane', '003':'Rahul', '004':'Riya' } for name in Students.values() print(name.title())
La sentència for aquí treu cada valor del diccionari i l'emmagatzema a la variable - name. La declaració Print imprimeix tots els noms i obtenim la següent sortida:
Joan
Jane
Rahul
Riya
Nidificant en els diccionaris de Python
De vegades és possible que vulgueu emmagatzemar un conjunt de diccionaris en una llista o en una llista d’elements com a valor en un diccionari, que s’anomena Nesting. Podeu incloure un conjunt de diccionaris dins d’una llista, una llista d’elements dins d’un diccionari o fins i tot un diccionari dins d’un altre diccionari.
La nidificació és una característica poderosa; demostrem-ho mitjançant exemples.
Llista de diccionaris
Prenguem un exemple del diccionari del jugador que conté una gran varietat d'informació sobre un jugador, però no té espai per emmagatzemar informació sobre més nombre de jugadors.
Simplement podem crear 3 diccionaris que representin cadascun un jugador diferent. Empaquetem cadascun d’aquests diccionaris en una llista anomenada Jugadors. Finalment, podem recórrer la llista i imprimir cadascun d’ells.
Player_1 = { 'Name' : 'Peter', 'Height' : '5ft 9inch', 'Weight' : '72 Kg' } Player_2 = { 'Name' : 'John', 'Height' : '5ft 7inch', 'Weight' : '82 Kg' } Player_3 = { 'Name' : 'Rahul', 'Height' : '5ft 11inch', 'Weight' : '65 Kg' } Players = (Player_1,Player_2,Player_3) for Player in Players: print(Player)
Sortida:
{'Nom': 'Pere', 'Alçada': '5 peus 9 polzades', 'Pes': '72 Kg'}
{'Nom': 'John', 'Alçada': '5 peus 7 polzades', 'Pes': '82 Kg'}
{'Nom': 'Rahul', 'Alçada': '5 peus 11 polzades', 'Pes': '65 Kg'}
És habitual emmagatzemar diversos diccionaris en una llista quan cada diccionari conté diversos tipus d'informació sobre un objecte.
Per exemple, podeu crear un diccionari per a cada usuari en un lloc web i emmagatzemar els diccionaris individuals en una llista anomenada usuaris. Tots els diccionaris de la llista haurien de tenir una estructura idèntica de manera que pugueu recórrer la llista i treballar amb cada objecte del diccionari de la mateixa manera.
Diccionari en un diccionari
Podeu col·locar un diccionari dins d’un altre diccionari, però quan feu això, el vostre codi es pot complicar ràpidament. Per exemple, si teniu diversos usuaris d’un lloc web, cadascun amb un nom d’usuari únic, podeu utilitzar-lo com a claus d’un diccionari.
A continuació, podeu emmagatzemar informació sobre cada usuari mitjançant un diccionari, ja que el valor està associat al seu nom d'usuari. A la llista següent, emmagatzemem tres dades d’informació sobre cada usuari, és a dir, el seu nom, cognom i ubicació. Accedirem a aquesta informació fent un bucle a través dels noms d’usuari i del Diccionari d’informació associat a cada nom d’usuari.
users = { 'Rahul99': { 'first': 'Rahul', 'last': 'Jain', 'location': 'New Delhi', }, 'Jane19': { 'first': 'Jane', 'last': 'Aniston', 'location': 'New York', }, } for user, user_info in users.items(): print('
Username = '+user) print('First name = '+user_info('first')) print('Last name = '+user_info('last')) print('Location = '+user_info('location'))
Primer definim un diccionari anomenat usuaris amb dues claus: un per als noms d’usuari ‘Rahul99’ i ‘Jane19’. El valor associat a cada clau és un diccionari que inclou el nom, cognoms i ubicació de cada usuari. Fem un recorregut pel diccionari de l’usuari.
Python emmagatzema cada clau al nom d'usuari de la variable i el Diccionari associat a cada nom d'usuari entra a la variable user_info. Un cop dins del bucle principal del diccionari, imprimim el nom d'usuari.
Comencem a accedir al Diccionari intern. La variable user_info, que conté el Diccionari d'informació de l'usuari, té tres claus, és a dir, 'primer', 'darrer' i 'ubicació'. Utilitzem cada clau per generar el nom, el cognom i la ubicació de cada usuari i, a continuació, imprimim un resum del que sabem de cada usuari.
La sortida del programa serà:
Nom d’usuari = Rahul99
Nom = Rahul
Cognom = Jain
Ubicació = Nova Delhi
Nom d’usuari = Jane19
Nom = Jane
Cognom = Aniston
Ubicació = Nova York
Exercici:
Escriu un diccionari anomenat ciutats. Utilitzeu els noms de tres ciutats amb una meravella del món com a claus del vostre diccionari. Creeu un diccionari amb informació sobre cada ciutat i incloeu el país on es troba la ciutat, la seva població aproximada i el nom de Wonder.
Les claus del diccionari de cada ciutat haurien de ser un país, una població i una meravella. Imprimiu el nom de cada ciutat i tota la informació que en tingueu emmagatzemada.
# Creació d'un diccionari al diccionari
Cities = { 'Newyork': { 'Country' : 'USA', 'population' : '700k', 'wonder' : 'Statue of Liberty' }, 'Agra': { 'Country' : 'India', 'population' : '300k', 'wonder' : 'Taj Mahal' }, 'Paris': { 'Country' : 'France', 'population' : '500k', 'wonder' : 'Eiffel Tower' } }
# Cercar tots els valors del diccionari
for City, cities_info in Cities.items(): print('
City = ' +City) print(' Country='+cities_info('Country')) print(' Population=' +cities_info('population')) print(' Wonder='+cities_info('wonder'))
Sortida :
Ciutat = Nova York
País = EUA
Població = 700k
Meravella = Estàtua de la Llibertat
Ciutat = Agra
País = Índia
Població = 300k
Wonder = Taj Mahal
Ciutat = París
País = França
Població = 500k
Wonder = Torre Eiffel
Conclusió
En aquest tutorial, hem après a definir un diccionari a Python i a treballar amb la informació emmagatzemada en un diccionari. També vam aprendre a accedir i modificar elements individuals en un diccionari.
A continuació, vam explorar com fer un recorregut per Diccionari, niar diversos diccionaris a la llista i niar Diccionari dins d’un Diccionari.
Bona lectura !!
Esperem que us hagi agradat tota la sèrie de tutorials de Python !! Estem segurs que aquests tutorials de Python serien una guia completa per a principiants.
PREV Tutorial | Primer tutorial
Lectura recomanada
- Entrada-sortida i fitxers a Python (Python Obrir, llegir i escriure al fitxer)
- Bucles Python: per a bucles imbricats amb exemples
- Tutorial de llista avançada de Python (ordenació de llista, inversió, índex, còpia, unió, suma)
- Instruccions condicionals de Python: if_else, elif, declaracions imbricades if
- Tutorial de manipulació de fitxers Python: Com crear, obrir, llegir, escriure
- Introducció i procés d’instal·lació de Python
- Llista Python: creeu, accediu, trossegeu, afegiu o suprimiu elements
- Conceptes OOP de Python (classes, objectes i herència de Python)
- Tutorial Python per a principiants (entrenament pràctic GRATU PyT en Python)