Ordbok i Python med syntax och exempel
Vad รคr en ordbok i Python?
A Ordbok i Python รคr den oordnade och fรถrรคnderliga samlingen av datavรคrden som innehรฅller nyckel-vรคrdepar. Varje nyckel-vรคrdepar i ordboken mappar nyckeln till dess tillhรถrande vรคrde vilket gรถr den mer optimerad. En ordbok i python deklareras genom att bifoga en kommaseparerad lista med nyckel-vรคrdepar med hjรคlp av krulliga klammerparenteser({}). Python Ordboken klassificeras i tvรฅ delar: Nycklar och Vรคrden.
- Nycklar kommer att vara ett enda element
- Vรคrden kan vara en lista eller lista i en lista, siffror osv.
Syntax fรถr Python Ordbok
Dict = { ' Tim': 18, xyz,.. }
Ordboken รคr listad inom parentes, inom dessa parenteser deklareras nycklar och vรคrden. Varje nyckel separeras frรฅn sitt vรคrde med ett kolon (:), medan kommatecken separerar varje element.
Egenskaper fรถr ordboksnycklar
Det finns tvรฅ viktiga punkter nรคr du anvรคnder ordboksnycklar
- Mer รคn en post per nyckel รคr inte tillรฅten (ingen dubblettnyckel รคr tillรฅten)
- Vรคrdena i ordboken kan vara av vilken typ som helst, medan nycklarna mรฅste vara ofรถrรคnderliga som siffror, tupler
- Ordboksnycklar รคr skiftlรคgeskรคnsliga - Samma nyckelnamn men med de olika skiftlรคgen behandlas som olika nycklar i Python ordbรถcker.
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print (Dict['Tiffany'])
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print((Dict['Tiffany']))
- I koden har vi ordboksnamnet "Dict"
- Vi deklarerade namnet och รฅldern pรฅ personen i ordboken, dรคr namnet รคr "Nycklar" och รฅlder รคr "vรคrdet"
- Kรถr nu koden
- Den hรคmtar tiffanys รฅlder frรฅn ordboken.
Python Ordboksmetoder
Kopiera ordbok
Du kan ocksรฅ kopiera hela ordboken till en ny ordbok. Hรคr har vi till exempel kopierat vรฅr ursprungliga ordbok till det nya ordboksnamnet "Pojkar" och "Flickor".
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
studentX=Boys.copy()
studentY=Girls.copy()
print studentX
print studentY
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)
- Vi har den ursprungliga ordboken (Dict) med namn och รฅlder pรฅ pojkarna och flickorna tillsammans
- Men vi vill ha en pojklista separat frรฅn flicklista, sรฅ vi definierade elementet fรถr pojkar och flickor i ett separat ordboksnamn "Pojkar" och "Flickor."
- Nu har vi รฅterigen skapat ett nytt ordboksnamn "elev X" och "elev Y", dรคr alla nycklar och vรคrden i pojklexikonet kopieras till elev X, och flickorna kommer att kopieras i studentY
- Sรฅ nu behรถver du inte titta i hela listan i huvudordboken( Dict) fรถr att kolla vem som รคr en pojke och vem som รคr tjej, du behรถver bara skriva ut elev X om du vill ha pojklista och StudentY om du vill ha tjejlista
- Sรฅ nรคr du kรถr student X och studentY ordbok, kommer det att ge alla element som finns i ordboken fรถr "pojkar" och "flickor" separat
Uppdaterar ordbok
Du kan ocksรฅ uppdatera en ordbok genom att lรคgga till en ny post eller ett nyckel-vรคrdepar till en befintlig post eller genom att ta bort en befintlig post. Hรคr i exemplet kommer vi att lรคgga till ett annat namn, "Sarah" till vรฅr befintliga ordbok.
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Dict.update({"Sarah":9})
print Dict
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Dict.update({"Sarah":9})
print(Dict)
- Vรฅr befintliga ordbok "Dict" har inte namnet "Sarah."
- Vi anvรคnder metoden Dict.update fรถr att lรคgga till Sarah i vรฅr befintliga ordbok
- Kรถr nu koden, den lรคgger till Sarah i vรฅr befintliga ordbok
Ta bort nycklar frรฅn ordboken
Python ordbok ger dig friheten att ta bort alla element frรฅn ordbokslistan. Anta att du inte vill ha namnet Charlie i listan, sรฅ du kan ta bort nyckelelementet med fรถljande kod.
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
del Dict ['Charlie']
print Dict
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
del Dict ['Charlie']
print(Dict)
Nรคr du kรถr den hรคr koden ska den skriva ut ordbokslistan utan Charlie.
- Vi anvรคnde koden del Dict
- Nรคr koden kรถrs har den raderat Charlie frรฅn huvudordboken
Ordbok objekt() Metod
Metoden items() returnerar en lista med tuppelpar (Nycklar, Vรคrde) i ordboken.
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "Students Name: %s" % Dict.items()
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Students Name: %s" % list(Dict.items()))
- Vi anvรคnder metoden code items() fรถr vรฅr Dict.
- Nรคr koden kรถrdes returnerar den en lista med objekt (nycklar och vรคrden) frรฅn ordboken
Kontrollera om en viss nyckel redan finns i en ordlista
Fรถr en given lista kan du ocksรฅ kontrollera om vรฅr barnordbok finns i huvudordboken eller inte. Hรคr har vi tvรฅ underordbรถcker "Pojkar" och "Tjejer", nu vill vi kontrollera om vรฅr ordbok Pojkar finns i vรฅr huvudordbok eller inte. Fรถr det anvรคnder vi metoden for loop med metoden else if.
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in Boys.keys():
if key in Dict.keys():
print True
else:
print False
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Boys.keys()):
if key in list(Dict.keys()):
print(True)
else:
print(False)
- Ocuco-landskapet forloop i kod kontrollerar varje nyckel i huvudordboken fรถr pojknycklar
- Om det finns i huvudordboken ska det skrivas ut sant eller sรฅ ska det skrivas ut falskt
- Nรคr du kรถr koden kommer den att skriva ut "True" tre gรฅnger, eftersom vi har tre element i vรฅr "Boys"-ordbok
- Sรฅ det indikerar att "pojkarna" finns i vรฅr huvudordbok (Dict)
Sortera ordboken
I ordboken kan du ocksรฅ sortera elementen. Om vi โโtill exempel vill skriva ut namnet pรฅ elementen i vรฅr ordbok alfabetiskt mรฅste vi anvรคnda fรถr en slinga. Det kommer att sortera varje element i ordboken dรคrefter.
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = Dict.keys()
Students.sort()
for S in Students:
print":".join((S,str(Dict[S])))
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
print(":".join((S,str(Dict[S]))))
- Vi fรถrklarade variabeln elever fรถr vรฅr ordbok "Dict."
- Sedan anvรคnder vi koden Students.sort, som kommer att sortera elementet i vรฅr ordbok
- Men fรถr att sortera varje element i ordboken kรถr vi for en loop genom att deklarera variabeln S
- Nu, nรคr vi kรถr koden, kommer for-loopen att anropa varje element frรฅn ordboken, och den kommer att skriva ut strรคngen och vรคrdet i en ordning
Python Ordbok inbyggda funktioner
Ordbok len() Metod
Funktionen len() anger antalet par i ordboken.
Till exempel,
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "Length : %d" % len (Dict)
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Length : %d" % len (Dict))
Nรคr len (Dict)-funktionen exekveras ger den utdata vid "4" eftersom det finns fyra element i vรฅr ordbok
Variabla typer
Python krรคver inte att explicit deklarera reservminnesutrymmet; det sker automatiskt. Tilldela vรคrden till variabeln "=" likhetstecken anvรคnds. Koden fรถr att bestรคmma variabeltypen รคr " %type (Dict)."
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "variable Type: %s" %type (Dict)
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("variable Type: %s" %type (Dict))
- Anvรคnd koden %type fรถr att kรคnna till variabeltypen
- Nรคr koden kรถrdes sรคger den att en variabeltyp รคr en ordbok
Python Lista cmp() metod
Jรคmfรถrmetoden cmp() anvรคnds i Python att jรคmfรถra vรคrden och nycklar fรถr tvรฅ ordbรถcker. Om metoden returnerar 0 om bรฅda ordlistorna รคr lika, 1 om dic1 > dict2 och -1 om dict1 < dict2.
Python 2 Exempel
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
print cmp(Girls, Boys)
Python 3 Exempel
cmp is not supported in Python 3
- Vi har tvรฅ ordboksnamn, "Pojkar" och "Flickor."
- Vad du รคn deklarerar fรถrst i koden "cmp(Girls, Boys)" kommer att betraktas som ordbok 1. I vรฅrt fall deklarerade vi "Girls" fรถrst, sรฅ det kommer att betraktas som ordbok 1 och pojkar som ordbok 2
- Nรคr koden kรถrs skrivs den ut -1, det indikerar att vรฅr ordbok 1 รคr mindre รคn ordbok 2.
Ordbok Str(dict)
Med metoden Str() kan du gรถra en ordbok till ett utskrivbart strรคngformat.
Python 2 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "printable string:%s" % str (Dict)
Python 3 Exempel
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("printable string:%s" % str (Dict))
- Anvรคnd koden % str (Dict)
- Det kommer att returnera ordbokselementen till ett utskrivbart strรคngformat
Hรคr รคr listan รถver alla ordboksmetoder
| Metod | BESKRIVNING | syntax |
|---|---|---|
| kopiera() | Kopiera hela ordboken till ny ordbok | dict.copy() |
| uppdatering() | Uppdatera en ordbok genom att lรคgga till en ny post eller ett nyckel-vรคrdepar till en befintlig post eller genom att ta bort en befintlig post. | Dict.update([other]) |
| fรถremรฅl () | Returnerar en lista med tuppelpar (nycklar, vรคrde) i ordboken. | dictionary.items() |
| sortera() | Du kan sortera elementen | dictionary.sort() |
| len () | Anger antalet par i ordboken. | len (dikt) |
| cmp() | Jรคmfรถr vรคrdena och nycklarna i tvรฅ ordbรถcker | cmp(dict1, dict2) |
| Str() | Gรถr en ordbok till ett utskrivbart strรคngformat | Str(dict) |
Sammanfoga ordbรถcker
Hรคr kommer att fรถrstรฅ hur man slรฅr samman tvรฅ givna ordbรถcker till en enda ordbok.
Jag har tvรฅ ordbรถcker som visas nedan:
Ordbok1 : min_dikt1
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
Ordbok 2 : min_dikt2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Lรฅt oss slรฅ samman bรฅda dessa ordbรถcker my_dict1 och my_dict2 och skapa en enda ordbok med namemy_dict.
Slรฅ samman tvรฅ ordbรถcker med metoden update().
Metoden update() hjรคlper oss att slรฅ samman en ordbok med en annan. I exemplet kommer vi att uppdatera min_dikt1 med min_dikt2. Efter att ha anvรคnt update()-metoden kommer my_dict1 att ha innehรฅllet i my_dict2 som visas nedan:
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict1.update(my_dict2)
print(my_dict1)
Produktion:
{'username': 'XYZ', 'email': '[email protected]', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Slรฅ samman ordbรถcker med **-metoden (Frรฅn Python 3.5 och framรฅt)
** heter Kwargs in Python, och det kommer att fungera med Python version 3.5+. Med ** kan vi slรฅ samman tvรฅ ordbรถcker, och det kommer att returnera den sammanslagna ordboken. Att anvรคnda ** framfรถr variabeln kommer att ersรคtta variabeln med allt dess innehรฅll.
Hรคr รคr ett fungerande exempel pรฅ att anvรคnda ** fรถr att slรฅ samman tvรฅ kataloger.
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict = {**my_dict1, **my_dict2}
print(my_dict)
Produktion:
{'username': 'XYZ', 'email': '[email protected]', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Ordbok medlemstest
Du kan testa om en nyckel i nuet i en ordbok eller inte. Detta test kan endast utfรถras pรฅ nyckeln till en ordbok och inte vรคrdet. Medlemstestet gรถrs med hjรคlp av in nyckelord. Nรคr du kontrollerar nyckeln i ordboken med hjรคlp av in nyckelord, returnerar uttrycket sant om nyckeln finns och falskt om inte.
Hรคr รคr ett exempel som visar medlemsskapstest pรฅ en ordbok.
my_dict = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)
Produktion:
True True False
Sammanfattning
- Ordbรถcker pรฅ ett programmeringssprรฅk รคr en typ av datastruktur som anvรคnds fรถr att lagra information kopplad pรฅ nรฅgot sรคtt.
- Python Ordboken รคr definierad i tvรฅ element Nycklar och Vรคrden.
- Ordbรถcker lagrar inte sin information i nรฅgon speciell ordning, sรฅ du kanske inte fรฅr tillbaka din information i samma ordning som du skrev in den.
- Nycklar kommer att vara ett enda element
- Vรคrden kan vara en lista eller lista i en lista, siffror osv.
- Mer รคn en post per nyckel รคr inte tillรฅten (ingen dubblettnyckel รคr tillรฅten)
- Vรคrdena i ordboken kan vara av vilken typ som helst, medan nycklarna mรฅste vara ofรถrรคnderliga som siffror, tupler eller strรคngar.
- Ordboksnycklar รคr skiftlรคgeskรคnsliga - Samma nyckelnamn men med de olika skiftlรคgen behandlas som olika nycklar i Python ordbรถcker.

