|
- Programming4Fun http://www.programming4fun.pun.pl/index.php - Poradniki http://www.programming4fun.pun.pl/viewforum.php?id=21 - Kurs Pythona. Część 7. http://www.programming4fun.pun.pl/viewtopic.php?id=15 |
| Hoguzzos - 2014-07-10 22:07:45 |
ŹRÓDŁO : http://szgrabowski.kis.p.lodz.pl/Python-podstawy.html Kod:
ksiazka_tel = {} # te klamerki oznaczają słownik, typ dict
ksiazka_tel["Hamlet"] = 619433156
ksiazka_tel["Ofelia"] = 539991474
print ksiazka_tel["Ofelia"]
print ksiazka_tel["Horacy"] # klucz nieznany!
ksiazka_tel["Borewicz"] = 997
for (k, v) in ksiazka_tel.items(): # k-key, v-value (oczywiście można nazwać inaczej)
print k, "ma telefon o numerze", vAle najprościej wyświetlić cały słownik po prostu tak: Kod:ksiazka_tel # albo print ksiazka_tel, jeśli nie w trybie interaktywnym Borewicz dostał służbową komórkę? No to zmieniamy: Kod:ksiazka_tel["Borewicz"] = 617555321 print ksiazka_tel["borewicz"] # ops, błąd! Małe i duże litery rozróżnialne Sprawdźmy, czy w międzyczasie Horacy nie dorobił się telefonu: Kod: if "Horacy" in ksiazka_tel:
print "Już jest! Jego numer to", ksiazka_tel["Horacy"]Tu nam się nie udało, ale zmieńmy Horacego np. na Hamleta. Kod:ksiazka_tel[(255,0,0)] = "czerwony" ksiazka_tel["W tym szaleństwie jest metoda"] = True ksiazka_tel[608] = [60801, 60804, 60802, 60899] Czasem od razu chcemy słownik czymś zainicjować. Najprościej tak: Kod:kolory = { "czerwony": (255,0,0), "niebieski": (0,0,255), "zielony": (0,255,0), "biały": (255,255,255) }Powiedzmy, że mamy także słownik Kod:kolory2 = {"czerwony": (200, 0,0), "czarny": (0,0,0)}Chcemy zaktualizować stary słownik; robi się to tak: Kod:kolory.update(kolory2) Sprawdź, że nic ze słownika kolory nie wypadło, natomiast zmieniła się (została nadpisana) wartość skojarzona z kluczem „czerwony”, a także doszedł klucz „czarny”. Oczywiście kolory2 się nie zmienił. Kod:d.keys() // zwraca listę kluczy d.values() # zwraca listę kluczy d.clear() # czyści cały słownik (ale zmiennej d nie usuwa) d.copy() # zwraca kopię d (d_kopia = d.copy() tworzy „niezależną” kopię, d_kopia = d byłoby tylko skopiowaniem referencji i każda zmiana d pociągałaby zmianę d_kopia) Usunięcie klucza "abc": Kod:del d["abc"] # KeyError, jeśli próbujemy usunąć coś, czego w słowniku nie ma Co jeszcze warto wiedzieć? Wartościami (ale nie kluczami) słownika mogą być nawet inne słowniki. Utwórzmy więc coś, co można by szumnie nazwać małą obiektową bazą danych: Kod:znajomi = { "Wojtek": { "tel": 487133, "miasto": "Zgierz", "ulica": "Zachlapana 14" }, \
"Ola": { "tel": 604111265, "miasto": "Opole", "ulica": "Krótka 1" }, \
"Sebastian": { "tel": 608726122, "miasto": "Tarnowskie Góry", "ulica": "Knutha 34" } }
print znajomi["Ola"]["miasto"] |