how work with python dictionary tutorial with code examples
Denna handledning förklarar hur man skapar en Python-ordbok tillsammans med metoder för att komma åt, lägga till, ändra, ta bort och spåra genom data som lagras i en ordbok:
I denna Python-utbildning för alla , vi tittade på de vanligaste frågorna Python-intervjufrågor . Denna handledning förklarar allt om ordböcker i Python tillsammans med enkla exempel.
A Dictionary in Python är en samling nyckel-värdepar. Varje nyckel är kopplad till värde och du kan använda nyckeln för att komma åt det värde som är associerat med den nyckeln.
En nyckel kan vara ett nummer / en sträng och nyckelns värde kan vara ett nummer, en sträng, en lista eller till och med en annan ordlista.
Ett realtidsexempel på en ordbok kan hittas i slutet av vilken bok som helst, där ämnen ges enligt sidnumret. Här kan ett sidnummer betraktas som en nyckel och ämnena kan betraktas som värden.
Vad du kommer att lära dig:
- Hur man skapar en ordbok i Python?
- Hur får jag tillgång till värden i en Python-ordbok?
- Hur lägger jag till nya nyckel-värdepar i ordboken?
- Hur ändrar jag värden i ordboken?
- Hur tar man bort nyckel-värdepar i en ordbok?
- Iterera genom Python Dictionary
- Nesting In Python Dictionaries
- Slutsats
- Rekommenderad läsning
Hur man skapar en ordbok i Python?
Python Dictionary skapas på följande sätt:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'}
Varje nyckel är kopplad till sitt värde med ett kolon och de enskilda nyckel-värdeparen separeras med kommatecken. Du kan lagra valfritt antal nyckel-värdepar i en ordlista.
Hur får jag tillgång till värden i en Python-ordbok?
För att komma åt ett värde som är associerat med nyckeln i ordlistan måste du ange namnet på ordlistan följt av dess nyckel inom parentes.
Inmatning:
gratis systemrenare för Windows 7
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} print(Students('001'))
Produktion:
John
Du kan komma åt flera värden i ordlistan på följande sätt:
Inmatning:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} print(Students('001'),Students('002')) # Accessing multiple values
Produktion:
John Jane
Hur lägger jag till nya nyckel-värdepar i ordboken?
Ordböcker är dynamiska och vi kan lägga till valfritt antal nya nyckel-värdepar till en befintlig ordbok.
Låt oss lägga till två nya elever i den befintliga ordboken.
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} Students('005')='Shane' Students('006')='Melisa'
Så snart vi ger följande ingång:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} Students('005')='Shane' Students('006')='Melisa' print(Students)
Resultatet blir:
{'001 ′:' John ',' 002 ′: 'Jane', '003 ′:' Rahul ',' 004 ′: 'Riya', '005 ′:' Shane ',' 006 ′: 'Melisa'}
Nu kan vi också få åtkomst till nyckel-värde-paren:
Inmatning:
print(Students('005'))
Produktion:
Shane
Hur ändrar jag värden i ordboken?
För att ändra ett värde i en ordlista måste vi ange namnet på ordboken följt av nyckeln inom parentes och sedan det nya värdet som är associerat med den nyckeln.
Antag i följande ordbok:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'}
Vi vill ändra värdet associerat med nyckel 001 till David, då kan vi helt enkelt göra det på följande sätt.
Students('001') = 'David'
När du kör programmet:
Inmatning:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'} Students('001') = 'David' print(Students('001'))
Produktion:
David
Hur tar man bort nyckel-värdepar i en ordbok?
Om du inte längre behöver en bit information som är lagrad i en ordbok kan du helt enkelt ta bort eller ta bort den informationen från ordboken med del-kommandot.
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'}
Till exempel, vi vill ta bort - '004': 'Riya' från ordboken ovan, då kan vi helt enkelt göra det med följande kommando:
del Students('004')
Nu, när du ger ingången:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'} del Students('004') print(Students)
Resultatet blir:
{'001': 'John', '002': 'Jane', '003': 'Rahul', '005': 'Shane', '006': 'Melisa'}
Notera: Ordböcker följer inte någon särskild sekvens. När du kör programmet kan du alltså få utdata i olika sekvenser.
Till exempel,
{'005': 'Shane', '003': 'Rahul', '002': 'Jane', '006': 'Melisa', '001': 'John'}
Övning:
Skriv ett program för att skapa en ordbok för anställda som innehåller deras ID och namn. Lägg senare till några anställda och uppdatera informationen för en av de anställda och ta bort informationen för den anställde som lämnar organisationen.
# Skapa en ordbok för anställda
Employees = { 'Emp_001': 'Rahul Khanna', 'Emp_002': 'Surbhi Jain', 'Emp_003': 'Maria Sharapova' } print(Employees)
# Hämtar information från andra anställd
print(Employees('Emp_002'))
# Lägga till ytterligare två anställda
Employees('Emp_004')='Ricky Martin' Employees('Emp_005')='Sanaya Malhotra'
# Skriv ut ordbok för att kontrollera om anställda uppdateras
print(Employees)
# Uppdatera information om Emp_003 - Ändra namn till Maria Curie
Employees('Emp_003')='Maria Curie'
# Verifierar uppdaterad information
print(Employees('Emp_003'))
# Ta bort anställd 1
del Employees('Emp_001') print(Employees)
Produktion:
{'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'}
Iterera genom Python Dictionary
Eftersom ordböcker kan innehålla en stor mängd data låter Python dig gå igenom ordboken. Ordböcker kan lagra information på olika sätt, så att du kan gå igenom ordboken på olika sätt. Du kan gå igenom nyckel-värdeparen i en ordlista, genom tangenterna eller dess värden.
- Hur går man igenom nyckel-värdeparen i ordlistan?
Låt oss ta ett exempel på en ny ordbok som används för att lagra information om fotbollsspelare, deras namn, höjd och vikt.
Player_1 = { 'Name': 'Peter', 'Height' : '5ft 9inch', 'Weight' : '82 Kg' }
Som du vet kan du få tillgång till en enda information baserat på vad du har lärt dig hittills, men hur får du tillgång till all information på en gång? Du kan använda för loop för att loopa genom ordboken.
for key,value in Player_1.items(): print('
Key:' +key) print('Value:' +value)
Som du kan se för att skriva en for-loop för ordlistan måste du skapa två variabler som innehåller en nyckel respektive ett värde. Här har vi tagit variabelnamnen som nyckel och värde men vi kunde ha tagit alla variabelnamn som k, v.
Det blir ingen skillnad i produktionen om vi skriver vår kod på följande sätt:
for k,v in Player_1.items(): print('
Key:' +k) print('Value:' +v)
Nästa del av For-uttalandet innehåller namnet på ordlistan följt av metodobjekten (), som returnerar en lista med nyckel-värdepar. For-slingan lagrar sedan vart och ett av dessa par i de två variabler som tillhandahålls. I föregående exempel använder vi variablerna för att skriva ut varje nyckel, följt av tillhörande värde.
' N' i det första utskriftsuttrycket säkerställer att en tom rad infogas före varje nyckel-värdepar i produktion :
hur man kör en torrentfil
Nyckel: Namn
Värde: Peter
Nyckel: Höjd
Värde: 5 fot 9 tum
Nyckel: Vikt
Värde: 82 kg
- Hur går man igenom alla tangenter i ordboken?
För att slinga igenom alla tangenter i en ordlista kan du använda Keys-metoden. Låt oss gå igenom alla nycklar i följande ordlista.
Player_1 = { 'Name': 'Peter', 'Height' : '5ft 9inch', 'Weight' : '82 Kg' } for attributes in Player_1.keys(): print(attributes.title())
Uttalandet för attribut i Player_1.keys () säger till Python att dra alla tangenterna från ordlistan Player_1 och lagra dem en i taget i variabelnamnet.
Programmet producerar följande utdata:
namn
Höjd
Vikt
Om vi ger våra insatser på följande sätt:
for attributes in Player_1: print(attributes.title())
Det kommer inte att finnas någon skillnad i utdata eftersom slingning genom tangenterna är standardbeteendet för ordboken.
- Hur går man igenom alla värden i ordboken?
Om ditt syfte är att hämta alla värden från en ordlista kan du använda värderingsmetoden.
Låt oss säga i följande ordbok, vi vill bara hämta studentens namn.
Students = { '001':'John', '002':'Jane', '003':'Rahul', '004':'Riya' } for name in Students.values() print(name.title())
För uttalandet här hämtar varje värde från ordlistan och lagrar det i variabelnamnet. Uttrycket Utskrift skriver ut alla namn och vi får följande utdata:
John
Jane
Rahul
Riya
Nesting In Python Dictionaries
Ibland kanske du vill lagra en uppsättning ordböcker i en lista eller en lista med objekt som ett värde i en ordbok och detta kallas häckande. Du kan hysa en uppsättning ordböcker i en lista, en lista med objekt i en ordlista eller till och med en ordbok i en annan ordlista.
Häckande är en kraftfull funktion, låt oss visa det med hjälp av exempel.
Lista över ordböcker
Låt oss ta ett exempel på Player Dictionary som innehåller en mängd information om en spelare, men det har inget utrymme för att lagra information om fler spelare.
Vi kan helt enkelt skapa 3 ordböcker som var och en representerar en annan spelare. Vi packar var och en av dessa ordböcker i en lista som heter Players. Slutligen kan vi gå igenom listan och skriva ut var och en av dem.
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)
Produktion:
{'Namn': 'Peter', 'Höjd': '5ft 9 tum', 'Vikt': '72 Kg '}
{'Namn': 'John', 'Höjd': '5ft 7 tum', 'Vikt': '82 Kg '}
{'Namn': 'Rahul', 'Höjd': '5ft 11 tum', 'Vikt': '65 Kg '}
Det är vanligt att lagra ett antal ordböcker i en lista när varje ordlista innehåller flera slags information om ett objekt.
Till exempel, Du kan skapa en ordbok för varje användare på en webbplats och lagra de enskilda ordböckerna i en lista som heter användare. Alla ordböcker i listan ska ha samma struktur så att du kan gå igenom listan och arbeta med varje ordboksobjekt på samma sätt.
Ordbok i ordbok
Du kan hysa en ordbok i en annan ordlista, men när du gör det kan din kod snabbt kompliceras. Till exempel, om du har flera användare för en webbplats, var och en med ett unikt användarnamn, kan du använda användarnamnet som nycklar i en ordbok.
Du kan sedan lagra information om varje användare genom att använda en ordbok eftersom värdet är associerat med deras användarnamn. I följande lista lagrar vi tre informationer om varje användare, dvs deras förnamn, efternamn och plats. Vi kommer åt denna information genom att gå igenom användarnamnen och ordlistan för information som är associerad med varje användarnamn.
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'))
Vi definierar först en ordbok som heter användare med två nycklar: en vardera för användarnamnen 'Rahul99' och 'Jane19'. Värdet som är associerat med varje tangent är en ordbok som innehåller varje användares förnamn, efternamn och plats. Vi går igenom användarens ordlista.
Python lagrar varje nyckel i det variabla användarnamnet och ordlistan som är associerad med varje användarnamn går in i variabeln user_info. Väl inne i huvudordbokslingan skriver vi ut användarnamnet.
Vi börjar komma åt den inre ordboken. Variabeln user_info, som innehåller ordlistan med användarinformation, har tre nycklar, dvs 'första', 'sista' och 'plats'. Vi använder varje nyckel för att skapa förnamn, efternamn och plats för varje användare och skriver sedan ut en sammanfattning av vad vi vet om varje användare.
Programmets resultat kommer att vara:
Användarnamn = Rahul99
Förnamn = Rahul
Efternamn = Jain
Plats = New Delhi
Användarnamn = Jane19
Förnamn = Jane
Efternamn = Aniston
Plats = New York
Övning:
Skriv en ordbok som heter städer. Använd namnen på tre städer med ett världsunder som nycklarna i din ordlista. Skapa en ordbok med information om varje stad och inkludera landet som staden är i, dess ungefärliga befolkning och namnet på Wonder.
Nycklarna för varje stads ordbok bör vara ungefär som land, befolkning och under. Skriv ut namnet på varje stad och all information du har lagrat om den.
# Skapa en ordbok i ordlistan
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' } }
# Bläddra igenom alla värden i ordlistan
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'))
Produktion :
Stad = Newyork
Land = USA
Befolkning = 700k
Wonder = Frihetsgudinnan
Stad = Agra
Land = Indien
Befolkning = 300k
Undrar = Taj Mahal
Stad = Paris
Land = Frankrike
Befolkning = 500k
Undrar = Eiffeltornet
Slutsats
I den här handledningen lärde vi oss hur man definierar en ordbok i Python och hur man arbetar med informationen som lagras i en ordbok. Vi lärde oss också hur man kan komma åt och ändra enskilda element i en ordbok.
Sedan undersökte vi hur man går igenom ordlista, häckar flera ordböcker i listan och hyser ordbok i en ordbok.
Glad läsning!!
Vi hoppas att du gillade hela serien av Python-självstudier !! Vi är säkra på att dessa Python-handledning skulle vara en komplett guide för nybörjare !!
PREV-handledning | Första handledningen
Rekommenderad läsning
- Input-Output och filer i Python (Python Öppna, läs och skriv till fil)
- Python Loops - För, medan, kapslade loopar med exempel
- Python Advanced List Tutorial (List Sort, Reverse, Index, Copy, Join, Sum)
- Python villkorliga uttalanden: if_else, elif, kapslade om uttalanden
- Python File Handling Tutorial: Hur man skapar, öppnar, läser, skriver
- Python introduktions- och installationsprocess
- Python List - Skapa, komma åt, skiva, lägga till eller ta bort element
- Python OOP-begrepp (Python-klasser, objekt och arv)
- Python-handledning för nybörjare (praktisk Python-träning)