{"id":445,"date":"2021-10-16T19:47:20","date_gmt":"2021-10-16T17:47:20","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=445"},"modified":"2021-10-16T19:48:08","modified_gmt":"2021-10-16T17:48:08","slug":"python-listy-kopiowanie-i-dodawanie-elementu","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/python-listy-kopiowanie-i-dodawanie-elementu\/","title":{"rendered":"Python &#8211; listy &#8211; kopiowanie i dodawanie elementu"},"content":{"rendered":"<p>Ni\u017cej przeanalizujemy dzia\u0142anie list na kilku prostych przyk\u0142adach. <!--more--><\/p>\n<p>Listy s\u0105 pot\u0119\u017cnym narz\u0119dziem w r\u0119kach programisty, przyjrzyjmy si\u0119 kilku prostym przyk\u0142adom.<\/p>\n<h2>Listy w Pythonie<\/h2>\n<p>Przyk\u0142ad prostej listy, zawieraj\u0105cej liczby od 1 do 5<\/p>\n<p>lista typu liczbowego<\/p>\n<p><code>lista = [1,2,3,4,5]<\/code><\/p>\n<p>lista typu string, dla przyk\u0142adu z aktualn\u0105 (na rok 2021\/2022) kadr\u0105 narodow\u0105 w pi\u0142ce no\u017cnej.<\/p>\n<div>\n<div><code>pilkarze = ['\u0141ukasz Fabia\u0144ski','Rados\u0142aw Majecki','\u0141ukasz \u00a0Skorupski','\u0141ukasz Skorupski','Wojciech Szcz\u0119sny','Jan Bednarek','Bartosz Bereszy\u0144ski','Pawe\u0142 Dawidowicz','Kamil Glik','Robert Gumny','Micha\u0142 \u00a0Helik','Tomasz \u00a0K\u0119dziora','Tymoteusz \u00a0Puchacz','Arkadiusz Reca','Maciej \u00a0Rybus','Przemys\u0142aw Frankowski','Kamil J\u00f3\u017awiak','Mateusz \u00a0Klich','Kacper Koz\u0142owski','Grzegorz \u00a0Krychowiak','Karol \u00a0Linetty','Jakub Moder','Przemys\u0142aw P\u0142acheta','Damian Szyma\u0144ski','Nicola \u00a0Zalewski','Piotr Zieli\u0144ski','Adam Buksa','Robert \u00a0Lewandowski','Krzysztof \u00a0Pi\u0105tek','Karol \u015awiderski']<\/code><\/div>\n<\/div>\n<p>Lista z wykorzystaniem p\u0119tli for w Pythonie nazywa si\u0119 list\u0105 sk\u0142adan\u0105. Przyjrzyjmy si\u0119 wi\u0119c kilku prostym przyk\u0142adom przedstawiaj\u0105ca liczby od 1 do 20.<\/p>\n<h2>Listy sk\u0142adane<\/h2>\n<p><span style=\"background-color: #f2f4f5; color: #222222;\">lista\u00a0=\u00a0[value\u00a0for\u00a0value\u00a0in\u00a0range(1,21)]<\/span><\/p>\n<div>\n<div><code>print(lista)<\/code><\/div>\n<\/div>\n<div><\/div>\n<div>Kolejny przyk\u0142ad podobnej do wy\u017cej listy, z warto\u015bciami od 1 do miliona<\/div>\n<div><\/div>\n<div>\n<div>\n<div><code>lista = [value for value in range(1,1000001)]<\/code><\/div>\n<div><code>print(lista)<\/code><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<div>Tworzenie listy od 1 do miliona i sprawdzenie czy na pewno na tej li\u015bcie minimalna warto\u015b\u0107 to liczba 1 a maksymalna to 1 000 000<\/div>\n<div><\/div>\n<div>\n<div>\n<div><code>lista = [value for value in range(1,1000001)]<\/code><\/div>\n<div><code>print (min(lista))<\/code><\/div>\n<div><code>print (max(lista))<\/code><\/div>\n<\/div>\n<div>Lista pierwszych dziesi\u0119ciu sze\u015bcian\u00f3w, czyli **3 tworzona za pomoc\u0105 p\u0119tli for<\/div>\n<div><\/div>\n<div>\n<div>\n<div><code>lista = [value*3 for value in range(1,11)]<\/code><\/div>\n<div><code>print (lista)<\/code><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<h2>Slice, czyli wycinek listy<\/h2>\n<div>Maj\u0105c list\u0119 pi\u0142karzy z pocz\u0105tku artyku\u0142u, mo\u017cemy odczyta\u0107 z niej jej wycinek, czyli na przyk\u0142ad pi\u0142karzy od pierwszego do pi\u0105tego. Jak w funkcji range() pos\u0142ugujemy si\u0119 tutaj indeksami, czyli ostatni element b\u0119dzie mia\u0142 indeks o jeden mnieszy od podanego na koncu naszego wycinka.<\/div>\n<div>\n<div>\n<div><code>print(pilkarze[0:5])<\/code><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<div>jako ciekawostk\u0119, mo\u017cna uzna\u0107 zapis<code>print(pilkarze[:5])<\/code>,\u00a0 gdzie brak umieszczonego indeksu 0, Python zast\u0105pi nim domy\u015blnie.<\/div>\n<div><\/div>\n<div>kolejny przyk\u0142ad to wycinek od wybranego elementu do ostatniego<\/div>\n<div><code>print(pilkarze[15:])<\/code><\/div>\n<div>oraz slice (wycinek listy) pi\u0119ciu ostatnich element\u00f3w danej listy<\/div>\n<div><code>print(pilkarze[-5:])<\/code><\/div>\n<div><\/div>\n<div>Wy\u015bwietlimy teraz prost\u0105 p\u0119tl\u0119 FOR, dzi\u0119ki kt\u00f3rej wy\u015bwietlimy naszych pi\u0142karzy, stosuj\u0105c funkcj\u0119 title(), dzi\u0119ki kt\u00f3rej dla pewno\u015bci zapiszemy pierwsze litery jako wielkie.<\/div>\n<div>\n<div>\n<div><code>print (\"Pi\u0119ciu pi\u0142karzy reprezentacji Polski w pi\u0142ce no\u017cnej to:\")<\/code><\/div>\n<div><code>for pilkarz in pilkarze[:5]:<\/code><\/div>\n<div><code>\u00a0 \u00a0 print(pilkarz.title())<\/code><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<h2>Jak skopiowa\u0107 list\u0119 w Pythonie?<\/h2>\n<div>Wcze\u015bniej omawiali\u015bmy przyk\u0142ady, w kt\u00f3rych zapis [:5] pobiera\u0142 elementy listy od pierwszego do pi\u0105tego, oraz [5:] pobieraj\u0105cy elementy od 5 do ostatniego.<\/div>\n<div>By wi\u0119c skopiowa\u0107 list\u0119, nale\u017cy zaznaczy\u0107 ca\u0142y jej zakres [:]<\/div>\n<div><\/div>\n<div>Korzystaj\u0105c z przyk\u0142adu listy naszej kadry narodowej, skopiujemy j\u0105 do listy kadraNarodowa<\/div>\n<div><\/div>\n<div><code>kadraNarodowa = pilkarze[:]<\/code><\/div>\n<div><code>print(kadraNarodowa)<\/code><\/div>\n<div><\/div>\n<h2>Dodawanie do list metodami append(), extend(), insert(x,y)<\/h2>\n<div>Dodajmy za pomoc\u0105 metody append() do naszych list (pilkarze i kadraNarodowa) po jednym nazwisku i sprawd\u017amy czy ka\u017cda z tych list jest teraz niezale\u017cn\u0105 list\u0105. Gdyby\u015bmy chcieli doda\u0107 jednocze\u015bnie wi\u0119cej element\u00f3w, musieliby\u015bmy skorzysta\u0107 z metody extend(). Natomiast, gdyby\u015bmy chcieli doda\u0107 element w \u015brodku listy, powinni\u015bmy skorzysta\u0107 z metody insert(3,5), gdzie 3 to element o danym indeksie, po kt\u00f3rym ma zosta\u0107 dodany nasz. Natomiast 5, stanowi tutaj warto\u015b\u0107, kal\u0105 chcemy doda\u0107 do naszej listy.<\/div>\n<div><\/div>\n<div>\n<div>\n<div><code>pilkarze.append('Artur Boruc')<\/code><\/div>\n<div><code>kadraNarodowa.append('Jerzy Dudek')<\/code><\/div>\n<div><code>print (\"\\nLista \\\"pilkarze\\\" to zupe\u0142nie inna lista, zawiera aktualnie:\\n\")<\/code><\/div>\n<div><code>print(pilkarze)<\/code><\/div>\n<div><code>print (\"\\n\\nNatomiast \\\"kadraNarodowa\\\" r\u00f3\u017cni si\u0119 od poprzedniej listy ostatnim pi\u0142karzem:\\n\")<\/code><\/div>\n<div><code>print(kadraNarodowa)<\/code><\/div>\n<div><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ni\u017cej przeanalizujemy dzia\u0142anie list na kilku prostych przyk\u0142adach.<\/p>\n","protected":false},"author":1,"featured_media":446,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[28,34],"class_list":["post-445","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-python","tag-python-podstawy"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/445","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=445"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/445\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media\/446"}],"wp:attachment":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media?parent=445"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=445"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}