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.

Syntax fรถr Python Ordbok

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.

Sammanfatta detta inlรคgg med: