{"id":1174,"date":"2020-08-25T14:52:15","date_gmt":"2020-08-25T11:52:15","guid":{"rendered":"http:\/\/www.hanectica.net\/kasvit\/?p=1174"},"modified":"2020-08-28T11:10:20","modified_gmt":"2020-08-28T08:10:20","slug":"python-listojen-kasittelya-2","status":"publish","type":"post","link":"https:\/\/www.hanectica.net\/kasvit\/2020\/08\/25\/python-listojen-kasittelya-2\/","title":{"rendered":"Python: listojen k\u00e4sittely\u00e4 2"},"content":{"rendered":"<p>T\u00e4ss\u00e4 artikkelissa k\u00e4yn l\u00e4pi, <strong>miten alkioita poistetaan listalta<\/strong>. <a href=\"https:\/\/www.hanectica.net\/kasvit\/2020\/08\/20\/python-listojen-kasittelya-1\/\">Listojen k\u00e4sittely\u00e4 1 -sivulla<\/a> kertoilin, miten alkioita voidaan lis\u00e4t\u00e4 listaan.<\/p>\n<h2>Kaikkien alkioiden poistaminen listalta yhdell\u00e4 kertaa<\/h2>\n<p>Kun halutaan tyhjent\u00e4\u00e4 lista yhdell\u00e4 kertaa kaikista alkioista, t\u00e4h\u00e4n l\u00f6ytyy eri tapoja, joista k\u00e4sittelen kaksi. Metodi <strong>clear<\/strong> tyhjent\u00e4\u00e4 listan kertaryk\u00e4isyll\u00e4.<\/p>\n<p><code>lista = [1, 2, 3, 4, 5]<br \/>\nlista.clear()<br \/>\n<span style=\"color: #800080;\">print<\/span>(lista)<br \/>\n<span style=\"color: #0000ff;\">[]<\/span><\/code><\/p>\n<p>Saman asian ajaa <code><strong>del lista[:]<\/strong><\/code>. T\u00e4ss\u00e4 koodissa <code>lista[:]<\/code> tarkoittaa koko listan, sen kaikkien alkioiden valitsemista.<\/p>\n<p><code>lista = [<span style=\"color: #008000;\">\"pippuri\"<\/span>, <span style=\"color: #008000;\">\"oregano\"<\/span>, <span style=\"color: #008000;\">\"basilika\"<\/span>, <span style=\"color: #008000;\">\"rakuuna\"<\/span>, <span style=\"color: #008000;\">\"curry\"<\/span>]<br \/>\n<span style=\"color: #ff6600;\">del<\/span> lista[:]<br \/>\n<span style=\"color: #800080;\">print<\/span>(lista)<br \/>\n<span style=\"color: #0000ff;\">[]<\/span><\/code><\/p>\n<h2><strong>Yksitt\u00e4isen alkion poistaminen listalta<\/strong><\/h2>\n<p>Kun tied\u00e4mme, mink\u00e4 alkion haluamme poistaa listalta, voimme k\u00e4ytt\u00e4\u00e4 <strong>remove<\/strong>-metodia. Alla olevaan mausteet-listaan on erehdyksess\u00e4 joutunut yksi aines, joka vaikkakin saattaisi hieman &#8221;maustaa&#8221; ruokaa, voisi aiheuttaa my\u00f6s kalliin matkan hammasl\u00e4\u00e4k\u00e4riin. \ud83d\ude09 Se on siis poistettava listalta.<\/p>\n<p><code>mausteet = [<span style=\"color: #008000;\">\"basilika\"<\/span>, <span style=\"color: #008000;\">\"oregano\"<\/span>, <span style=\"color: #008000;\">\"mutteri\"<\/span>, <span style=\"color: #008000;\">\"rakuuna\"<\/span>, <span style=\"color: #008000;\">\"curry\"<\/span>]<br \/>\nmausteet.remove(<span style=\"color: #008000;\">\"mutteri\"<\/span>)<br \/>\n<span style=\"color: #800080;\">print<\/span>(mausteet)<br \/>\n<span style=\"color: #0000ff;\">['basilika', 'oregano', 'rakuuna', 'curry']<\/span><\/code><\/p>\n<p>HUOM! Remove-metodi poistaa listalta vain ensimm\u00e4isen parametrin mukaisen alkion. Jos listalla olisi toinen mutteri, se j\u00e4isi sinne. Jos ep\u00e4ilemme, ett\u00e4 listalla on muttereita enemm\u00e4nkin, ja haluamme poistaa ne kaikki, niin silloin voimme k\u00e4ytt\u00e4\u00e4 for-silmukkaa ja k\u00e4yd\u00e4 mausteet-listaa l\u00e4pi alkio alkiolta ja poistaa mutterit sit\u00e4 mukaa listalta.<\/p>\n<p><code>mausteet = [<span style=\"color: #008000;\">\"basilika\"<\/span>, <span style=\"color: #008000;\">\"oregano\"<\/span>, <span style=\"color: #008000;\">\"mutteri\"<\/span>, <span style=\"color: #008000;\">\"rakuuna\"<\/span>, <span style=\"color: #008000;\">\"mutteri\"<\/span>, <span style=\"color: #008000;\">\"curry\"<\/span>, <span style=\"color: #008000;\">\"mutteri\"<\/span>, <span style=\"color: #008000;\">\"mutteri\"<\/span>]<\/code><\/p>\n<p><code><span style=\"color: #ff6600;\">for<\/span> alkio <span style=\"color: #ff6600;\">in<\/span> mausteet:<br \/>\n<span style=\"color: #ffffff;\">----<\/span><span style=\"color: #ff6600;\">if<\/span> <span style=\"color: #008000;\">\"mutteri\"<\/span> in mausteet:<br \/>\n<span style=\"color: #ffffff;\">--------<\/span>mausteet.remove(<span style=\"color: #008000;\">\"mutteri\"<\/span>)<\/code><\/p>\n<p><code><span style=\"color: #800080;\">print<\/span>(mausteet)<br \/>\n<span style=\"color: #0000ff;\">['basilika', 'oregano', 'rakuuna', 'curry']<\/span><\/code><\/p>\n<p>Kun haluamme poistaa alkion tietyst\u00e4 paikasta, voimme k\u00e4ytt\u00e4\u00e4 <strong>pop<\/strong>-metodia. Meid\u00e4n ei siis tarvitse tiet\u00e4\u00e4 alkiota, ainoastaan sen paikka listassa, esim. <code>nimet[2]<\/code>, eli haluamme poistaa nimet-listalta alkion paikasta 2, ja kukas sitten joutuu leikist\u00e4 pois. Katsotaan&#8230;<\/p>\n<p><code>nimet = [<span style=\"color: #008000;\">\"Ana\"<\/span>, <span style=\"color: #008000;\">\"Carlos\"<\/span>, <span style=\"color: #008000;\">\"Jorge\"<\/span>, <span style=\"color: #008000;\">\"Eva\"<\/span>, <span style=\"color: #008000;\">\"Pedro\"<\/span>]<br \/>\nnimet.pop(2)<br \/>\n<span style=\"color: #800080;\">print<\/span>(nimet)<br \/>\n<span style=\"color: #0000ff;\">['Ana', 'Carlos', 'Eva', 'Pedro']<\/span><\/code><\/p>\n<p>\u00a1Adi\u00f3s, Jorge! \ud83d\ude00<br \/>\nKun Jorge on poistettu listalta, sen j\u00e4lkeen tulevien paikat siirtyv\u00e4t yhden askeleen eteenp\u00e4in. Evan paikka muuttuu siis 3:sta 2:ksi ja Pedron 4:st\u00e4 3:ksi.<\/p>\n<p>Jos kuitenkin haluamme s\u00e4ilytt\u00e4\u00e4 Jorgen varalla, voimme <em>palauttaa<\/em> h\u00e4net omaan muuttujaan (t\u00e4ss\u00e4 esimerkiksi varalla-nimiseen).<\/p>\n<p><code>nimet = [<span style=\"color: #008000;\">\"Ana\"<\/span>, <span style=\"color: #008000;\">\"Carlos\"<\/span>, <span style=\"color: #008000;\">\"Jorge\"<\/span>, <span style=\"color: #008000;\">\"Eva\"<\/span>, <span style=\"color: #008000;\">\"Pedro\"<\/span>]<br \/>\nvaralla = nimet.pop(2)<br \/>\n<span style=\"color: #800080;\">print<\/span>(nimet)<br \/>\n<span style=\"color: #0000ff;\">['Ana', 'Carlos', 'Eva', 'Pedro']<\/span><br \/>\n<span style=\"color: #800080;\">print<\/span>(varalla)<br \/>\n<span style=\"color: #0000ff;\">Jorge<\/span><\/code><\/p>\n<h2>Listan alkion korvaaminen toisella alkiolla<\/h2>\n<p>Alkion voi poistaa my\u00f6s siten, ett\u00e4 korvaa sen jollain toisella alkiolla.<\/p>\n<p><code>nimet = [<span style=\"color: #008000;\">\"Ana\"<\/span>, <span style=\"color: #008000;\">\"Carlos\"<\/span>, <span style=\"color: #008000;\">\"Jorge\"<\/span>, <span style=\"color: #008000;\">\"Eva\"<\/span>, <span style=\"color: #008000;\">\"Pedro\"<\/span>]<br \/>\nnimet[2] = <span style=\"color: #008000;\">\"Javier\"<\/span><br \/>\n<span style=\"color: #800080;\">print<\/span>(nimet)<br \/>\n<span style=\"color: #0000ff;\">['Ana', 'Carlos', 'Javier', 'Eva', 'Pedro']<\/span><\/code><\/p>\n<p>Eli Javier p\u00e4\u00e4si kent\u00e4lle Jorgen tilalle, ja Jorge joutui filttiketjuun. \ud83d\ude00<\/p>\n<hr \/>\n<p>T\u00e4ss\u00e4 toinen Python-listoja k\u00e4sittelev\u00e4 artikkeli. Jos l\u00f6ysit virheit\u00e4 tai muuta kommentoitavaa, heit\u00e4 minua <a href=\"mailto:hannele@hanectica.net\">s\u00e4hk\u00f6postiviestill\u00e4<\/a>. \ud83d\ude00<\/p>\n<hr \/>\n<p>PS. For-silmukssa olen k\u00e4ytt\u00e4nyt sisennykseen valkoisia tavuviivoja, jotka eiv\u00e4t kuulu koodiin, vaan siin\u00e4 kuuluisi olla pelkk\u00e4 sisennys. Span class -sisennys ei suostu toimimaan\u00a0 WordPressiss\u00e4, ainakaan minulla, joten on tyydytt\u00e4v\u00e4 t\u00e4llaiseen kepuliratkaisuun.\u00a0 \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 artikkelissa k\u00e4yn l\u00e4pi, miten alkioita poistetaan listalta. Listojen k\u00e4sittely\u00e4 1 -sivulla kertoilin, miten alkioita voidaan lis\u00e4t\u00e4 listaan. Kaikkien alkioiden poistaminen listalta yhdell\u00e4 kertaa Kun halutaan tyhjent\u00e4\u00e4 lista yhdell\u00e4 kertaa kaikista alkioista, t\u00e4h\u00e4n l\u00f6ytyy eri tapoja, joista k\u00e4sittelen kaksi. Metodi &hellip; <a href=\"https:\/\/www.hanectica.net\/kasvit\/2020\/08\/25\/python-listojen-kasittelya-2\/\">Lue loppuun <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1198,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[100],"tags":[107,114,112,113,118,101,105,117,96,116,95,106,115],"class_list":["post-1174","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-ohjelmointi","tag-alkio","tag-alkion-poistaminen-listalta","tag-clear","tag-del","tag-funktio","tag-lista","tag-listan-muokkaus","tag-metodi","tag-ohjelmointi","tag-pop","tag-python","tag-python-3-8-5","tag-remove"],"_links":{"self":[{"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/posts\/1174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/comments?post=1174"}],"version-history":[{"count":27,"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/posts\/1174\/revisions"}],"predecessor-version":[{"id":1212,"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/posts\/1174\/revisions\/1212"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/media\/1198"}],"wp:attachment":[{"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/media?parent=1174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/categories?post=1174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hanectica.net\/kasvit\/wp-json\/wp\/v2\/tags?post=1174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}