{"id":78,"date":"2020-03-07T10:00:41","date_gmt":"2020-03-07T09:00:41","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=78"},"modified":"2020-03-07T11:13:56","modified_gmt":"2020-03-07T10:13:56","slug":"python-cz-3-struktury-danych-listy-slowniki-i-krotki-tuples","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/python-cz-3-struktury-danych-listy-slowniki-i-krotki-tuples\/","title":{"rendered":"Python \u2013 cz.3 \u2013 Struktury danych, listy, s\u0142owniki i krotki (tuples)"},"content":{"rendered":"<p>Listy (<strong>lists<\/strong>), Tuple (<strong>tuples<\/strong>) i S\u0142owniki (<strong>dict<\/strong>), Sety (<strong>sets<\/strong>) oraz Stringi (<strong>strings<\/strong>) w Pythonie deklarujemy podobnie, r\u00f3\u017cnica wynika w nawiasie:<\/p>\n<p>Lista <code>produkty = [\"baton\",\"chleb\",\"ziemniaki\",\"woda mineralna\"]<\/code><br \/>\nKrotki (Tuples) <code>produkty = (\"baton\",\"chleb\",\"ziemniaki\",\"woda mineralna\")<\/code><br \/>\nS\u0142ownik<code>\u00a0osoba = {\"wiek\": 20,\"imie\": \"Pawe\u0142\",\"Nazwisko\":\"Kwiatkowski\"}<\/code><\/p>\n<h2>[Listy List]<\/h2>\n<p><strong>Listy pozwalaj\u0105 nam<\/strong> wykonywa\u0107 operacje na elementach w nich zawartych, np dodawa\u0107 element do listy, odejmowa\u0107 (usuwa\u0107) go z listy, liczenie, np. cen produkt\u00f3w w danej li\u015bcie.<br \/>\n<code>produkty = [\"baton\",\"chleb\",\"ziemniaki\",\"woda mineralna\"]<br \/>\n# zmiana elementu o indeksie 1 (liczymy jak w tablicach od 0). Czyli zmieniamy chleb na rogalik<br \/>\nprodukty[1] = \"rogalik\"<br \/>\n# wypisujemy w celu sprawdzenia now\u0105 zawarto\u015b\u0107 naszej listy<br \/>\nprint(produkty)<\/code><\/p>\n<p>wi\u0119cej na temat list mo\u017cna przeczyta\u0107 klikaj\u0105c <a href=\"https:\/\/www.w3schools.com\/python\/python_lists.asp\" rel=\"nofollow noopener\" target=\"_blank\">w ten link<\/a>.<\/p>\n<h2>(Krotki Tuples)<\/h2>\n<p><strong>Krotki, czyli Tuples pozwalaj\u0105 nam<\/strong> na du\u017co mniej, jednak warto niekiedy si\u0119 nimi zainteresowa\u0107, ze wzgl\u0119du na wydajno\u015b\u0107. Mniej funkcjonalno\u015bci = zwi\u0119kszona wydajno\u015b\u0107 danej operacji. Pozwalaj\u0105 nam one na policzenie element\u00f3w i sprawdzenie na kt\u00f3rym miejscu dany element si\u0119 znajduje. Krotka to kolekcja, kt\u00f3ra jest <strong>uporz\u0105dkowana i niezmienna<\/strong>. W Pythonie krotki s\u0105 pisane za pomoc\u0105 okr\u0105g\u0142ych nawias\u00f3w.<\/p>\n<p><code>produkty = (\"baton\",\"chleb\",\"ziemniaki\",\"woda mineralna\")<br \/>\n#wypisz 2 element krotki (liczymy elementy jak w tablicy, od 0)<br \/>\nprint(produkty[1])<\/code><\/p>\n<p><code>produkty = (\"baton\",\"chleb\",\"ziemniaki\",\"woda mineralna\")<br \/>\n#wypisz ostatni element krotki (ostatnim elementem tablicy jest n-1)<br \/>\nprint(produkty[-1])<\/code><\/p>\n<p>na temat krotek mo\u017cna przeczyta\u0107 wi\u0119cej <a href=\"https:\/\/www.w3schools.com\/python\/python_tuples.asp\" rel=\"nofollow noopener\" target=\"_blank\">klikaj\u0105c tutaj<\/a>.<\/p>\n<h2>{S\u0142owniki dict}<\/h2>\n<p><strong>S\u0142owniki s\u0105 nieco trudniejsze<\/strong>. R\u00f3\u017cni\u0105 si\u0119 tym od poprzednich dw\u00f3ch struktur danych, \u017ce nie odwo\u0142ujemy si\u0119 do indeks\u00f3w tablicy 0..n-1 a do nazwy elementu tablicy. Kr\u00f3tko m\u00f3wi\u0105c, jest to zestaw kluczy i warto\u015bci, np:<code><br \/>\n#tworzymy s\u0142ownik<br \/>\nosoba = {\"wiek\": 20,\"imie\": \"Pawe\u0142\",\"Nazwisko\":\"Kwiatkowski\"}<br \/>\n#wypisujemy teraz warto\u015b\u0107 elementu \"wiek\" z powy\u017cszego s\u0142ownika, czyli liczb\u0119 20.<br \/>\nprint(osoba[\"imie\"])<br \/>\n#kolejno mo\u017cemy sprawdzi\u0107 typ danych danego elementu s\u0142ownika. W przypadku \"imie\" b\u0119dzie to str czyli string.<br \/>\nprint(type(osoba[\"imie\"])))<br \/>\n<\/code><\/p>\n<p>W edytorze, \u017ceby u\u017cy\u0107 metod dla list, tupli czy s\u0142ownik\u00f3w, wystarczy wpisa\u0107 nazw\u0119 np. naszego s\u0142ownika i doda\u0107 kropk\u0119.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-79 size-full\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2020\/03\/2020-03-07_09h57_50.png\" alt=\"\" width=\"487\" height=\"277\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2020\/03\/2020-03-07_09h57_50.png 487w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2020\/03\/2020-03-07_09h57_50-300x171.png 300w\" sizes=\"auto, (max-width: 487px) 100vw, 487px\" \/><\/p>\n<p>Lista metod dla s\u0142ownik\u00f3w:<br \/>\n<code>clear ()<\/code> Usuwa wszystkie elementy ze s\u0142ownika<br \/>\n<code>copy ()<\/code> Zwraca kopi\u0119 s\u0142ownika<br \/>\n<code>fromkeys ()<\/code> Zwraca s\u0142ownik z okre\u015blonymi kluczami i warto\u015bci\u0105<br \/>\n<code>get ()<\/code> Zwraca warto\u015b\u0107 okre\u015blonego klucza, je\u015bli np. wpiszemy <code>get.osoba(\"wiek\",18)<\/code>, w przypadku braku warto\u015bci klucza wiek, domy\u015blnie wstawi liczb\u0119 18.<br \/>\n<code>items ()<\/code> Zwraca list\u0119 zawieraj\u0105c\u0105 krotk\u0119 dla ka\u017cdej pary warto\u015bci klucza<br \/>\n<code>keys ()<\/code> Zwraca list\u0119 zawieraj\u0105c\u0105 klucze s\u0142ownika. Wypisuje nam wszystkie klucze naszego s\u0142ownika, np wiek, imie i nazwisko. Bez zawartych w nich warto\u015bci.<br \/>\n<code>pop ()<\/code> Usuwa element z okre\u015blonym kluczem (sk\u0142adnia podobna do get())<br \/>\n<code>popitem ()<\/code> Usuwa ostatni\u0105 wstawion\u0105 par\u0119 klucz-warto\u015b\u0107<br \/>\n<code>setdefault ()<\/code> Zwraca warto\u015b\u0107 okre\u015blonego klucza. Je\u015bli klucz nie istnieje: w\u0142\u00f3\u017c klucz o okre\u015blonej warto\u015bci<br \/>\n<code>update ()<\/code> Aktualizuje s\u0142ownik o okre\u015blone pary klucz-warto\u015b\u0107<br \/>\n<code>values ()<\/code> Zwraca list\u0119 wszystkich warto\u015bci w s\u0142owniku<\/p>\n<p>przyk\u0142adowe \u0107wiczenia na s\u0142ownikach, mo\u017cna znale\u017a\u0107 <a href=\"https:\/\/www.w3schools.com\/python\/python_dictionaries.asp\" rel=\"nofollow noopener\" target=\"_blank\">tutaj.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Listy (lists), Tuple (tuples) i S\u0142owniki (dict), Sety (sets) oraz Stringi (strings) w Pythonie deklarujemy podobnie, r\u00f3\u017cnica wynika w nawiasie: Lista produkty = [&#8222;baton&#8221;,&#8221;chleb&#8221;,&#8221;ziemniaki&#8221;,&#8221;woda mineralna&#8221;] Krotki (Tuples) produkty = (&#8222;baton&#8221;,&#8221;chleb&#8221;,&#8221;ziemniaki&#8221;,&#8221;woda mineralna&#8221;) S\u0142ownik\u00a0osoba = {&#8222;wiek&#8221;: 20,&#8221;imie&#8221;: &#8222;Pawe\u0142&#8221;,&#8221;Nazwisko&#8221;:&#8221;Kwiatkowski&#8221;} [Listy List] Listy pozwalaj\u0105 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":79,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[34,35],"class_list":["post-78","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-python-podstawy","tag-struktury-danych"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/78","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/comments?post=78"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/78\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media\/79"}],"wp:attachment":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media?parent=78"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=78"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=78"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}