{"id":5794,"date":"2022-02-27T11:18:27","date_gmt":"2022-02-27T10:18:27","guid":{"rendered":"https:\/\/www.itkommando.hu\/site\/?page_id=5794"},"modified":"2022-03-01T10:02:18","modified_gmt":"2022-03-01T09:02:18","slug":"python-4-listak-szotarak-tuple-set","status":"publish","type":"page","link":"https:\/\/www.itkommando.hu\/site\/python-4-listak-szotarak-tuple-set\/","title":{"rendered":"Python 4 (List\u00e1k, sz\u00f3t\u00e1rak, tuple, set)"},"content":{"rendered":"\n<p>A kor\u00e1bbi cikkekben m\u00e1r volt sz\u00f3 <a href=\"https:\/\/www.itkommando.hu\/site\/python-2-resz-tipusok-1\/\" title=\"v\u00e1ltoz\u00f3kr\u00f3l\">v\u00e1ltoz\u00f3kr\u00f3l<\/a>, <a href=\"https:\/\/www.itkommando.hu\/site\/python-3-resz-stringek\/\" title=\"stringekr\u0151l\">stringekr\u0151l<\/a><\/p>\n\n\n\n<p>A Python lehet\u0151s\u00e9get ad olyan v\u00e1ltoz\u00f3k haszn\u00e1lat\u00e1ra, amit tal\u00e1n \u00f6sszetett v\u00e1ltoz\u00f3knak nevezhet\u00fcnk.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lista (list)<\/h2>\n\n\n\n<p>Egy list\u00e1ban t\u00f6bbf\u00e9le \u00e9rt\u00e9ket sorolhatunk fel. Minden egyes \u00e9rt\u00e9k lehet b\u00e1rmely eddig felsorolt, vagy a k\u00e9s\u0151bbiekben ismertetett t\u00edpus, ide \u00e9rtve a list\u00e1t is (igen, egy lista tartalmazhat list\u00e1kat)<\/p>\n\n\n\n<p>Kezdj\u00fck egy egyszer\u0171 esettel:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lis=['Alma','k\u00f6rte','cseresznye']\nprint(lis)\n['Alma', 'k\u00f6rte', 'cseresznye']<\/pre>\n\n\n\n<p>A lista egyes elemit egyenk\u00e9nt is el\u00e9rhetj\u00fck:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">print(lis[1])<br>k\u00f6rte<\/pre>\n\n\n\n<p>A lista elemeit a stringekhez hasonl\u00f3an null\u00e1t\u00f3l sz\u00e1moljuk. A lista r\u00e9szeit is a stringekhez hasonl\u00f3an \u00e9rhetj\u00fck el:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">print(lis[0:2])<br>['Alma', 'k\u00f6rte']<br><br>print(lis[-1])<br>cseresznye<\/pre>\n\n\n\n<p>A list\u00e1k \u00e9rt\u00e9kad\u00e1sa \u00e9rdekes az eddigiekhez k\u00e9pest:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">l2=lis<br>l2.append('ban\u00e1n')<br>print(lis).<\/pre>\n\n\n\n<p>Term\u00e9szetesen van lehet\u0151s\u00e9g arra, hogy a lista m\u00e1solat\u00e1t hozzuk l\u00e9tre az l2 v\u00e1ltoz\u00f3ban:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">l2=lis.copy()<br> l2.append('meggy')<br>print(l2)<br>['Alma', 'k\u00f6rte', 'cseresznye', 'ban\u00e1n', 'meggy']<br><br>print(lis) <br>['Alma', 'k\u00f6rte', 'cseresznye', 'ban\u00e1n']<\/pre>\n\n\n\n<p> A list\u00e1k \u00f6sszef\u0171z\u00e9se \u00f6sszead\u00e1sjellel t\u00f6rt\u00e9nik<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lis3=lis+l2\nprint(lis3)\n['Alma', 'k\u00f6rte', 'cseresznye', 'ban\u00e1n', 'meggy', 'Alma', 'k\u00f6rte', 'cseresznye', 'ban\u00e1n', 'meggy']<\/pre>\n\n\n\n<p>Egy adott elem els\u0151 el\u0151fordul\u00e1s\u00e1nak megkeres\u00e9se:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">print(lis3.index('ban\u00e1n'))<br>3<\/pre>\n\n\n\n<p>Ha olyan \u00e9rt\u00e9ket keres\u00fcnk, ami nem szerepel  list\u00e1ban, akkor hiba\u00fczenetet kapunk<\/p>\n\n\n\n<p>Lehet\u0151s\u00e9g van nem csak a lista v\u00e9g\u00e9re, hanem tetsz\u0151leges poz\u00edci\u00f3ba besz\u00farni elemet:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lis3.insert(2,'kiwi')<br>print(lis3)<br>['Alma', 'k\u00f6rte', 'kiwi', 'cseresznye', 'ban\u00e1n', 'meggy', 'Alma', 'k\u00f6rte', 'cseresznye', 'ban\u00e1n', 'meggy']<\/pre>\n\n\n\n<p>A list\u00e1kat rendezni is lehet emelked\u0151 \u00e9s cs\u00f6kken\u0151 sorrendbe<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lis3.sort<br>print(lis3)<br>['Alma', 'Alma', 'ban\u00e1n', 'ban\u00e1n', 'cseresznye', 'cseresznye', 'kiwi', 'k\u00f6rte', 'k\u00f6rte', 'meggy', 'meggy']<\/pre>\n\n\n\n<p>L\u00e1that\u00f3an a string t\u00edpus\u00fa \u00e9rt\u00e9keket \u00e1bc sorrendbe rendezi, a sz\u00e1m jelleg\u0171 \u00e9rt\u00e9keket pedig nagys\u00e1g szerinti sorrendbe.<\/p>\n\n\n\n<p>Term\u00e9szetesen ez a megold\u00e1s csak akkor m\u0171k\u00f6dik, ha a t\u00e1rolt \u00e9rt\u00e9kek \u00f6sszehasonl\u00edthat\u00f3ak. A k\u00f6vetkez\u0151 utas\u00edt\u00e1s hiba\u00fczenetet eredm\u00e9nyez, mert egy sztringet nem lehet integerrel \u00f6sszehasonl\u00edtani:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lis3.append(2)<br>lis3.sort()<\/pre>\n\n\n\n<p>A cikk folytat\u00e1s\u00e1hoz t\u00e1vol\u00edtsuk el a 2 \u00e9rt\u00e9ket:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lis3.remove(2)<\/pre>\n\n\n\n<p>A sz\u00e1m (integer) t\u00edpus\u00fa elem elt\u00e1vol\u00edt\u00e1sa ut\u00e1n a rendez\u00e9s ism\u00e9t elv\u00e9gezhet\u0151<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> lis3.sort() <br> print(lis3)<br>['Alma', 'Alma', 'ban\u00e1n', 'ban\u00e1n', 'cseresznye', 'cseresznye', 'kiwi', 'k\u00f6rte', 'k\u00f6rte', 'meggy', 'meggy'] <br><\/pre>\n\n\n\n<p>Term\u00e9szetesen a rendez\u00e9st meg lehet csin\u00e1lni ford\u00edtott sorrendben is <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lis3.sort(reverse=True)\nprint(lis3) \n['meggy', 'meggy', 'k\u00f6rte', 'k\u00f6rte', 'kiwi', 'cseresznye', 'cseresznye', 'ban\u00e1n', 'ban\u00e1n', 'Alma', 'Alma']<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Sz\u00f3t\u00e1r (Dictionary)<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<p>A defin\u00edci\u00f3 szerint a dictionary kulcs:\u00e9rt\u00e9k (key:value) p\u00e1rok rendezetlen halmaza. Haszn\u00e1lata akkor javasolt, ha az \u00e9rt\u00e9keket a kulcsok szerint szeretn\u00e9nk el\u00e9rni. Ilyenkor az \u00e9rt\u00e9kek el\u00e9r\u00e9se viszonylag gyors.<\/p>\n\n\n\n<p> A kulcs b\u00e1rmilyen unmutable (nem megv\u00e1ltoztathat\u00f3) t\u00edpus\u00fa \u00e9rt\u00e9k lehet. Minden kulcs csak egyszer szerepelhet, ha ism\u00e9t \u00e9rt\u00e9ket pr\u00f3b\u00e1lunk neki adni, akkor az eredeti \u00e9rt\u00e9ket fel\u00fcl\u00edrja.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dic={'gy\u00fcm\u00f6lcs':['Ban\u00e1n','Alma'],'b\u00fator':['Sz\u00e9k','szekr\u00e9ny']}<br>print(dic)<br>{'gy\u00fcm\u00f6lcs': ['Ban\u00e1n', 'Alma'], 'b\u00fator': ['Sz\u00e9k', 'szekr\u00e9ny']}<br>dic['gy\u00fcm\u00f6lcs']=['alma','k\u00f6rte']<br> print(dic)<br>{'gy\u00fcm\u00f6lcs': ['alma', 'k\u00f6rte'], 'b\u00fator': ['Sz\u00e9k', 'szekr\u00e9ny']}<\/pre>\n\n\n\n<p>A fenti p\u00e9ld\u00e1ban a kulcsokhoz list\u00e1ba rendezett \u00e9rt\u00e9keket t\u00e1rs\u00edtottam.  A gy\u00fcm\u00f6lcs kulcshoz tartoz\u00f3 \u00e9rt\u00e9keket m\u00f3dos\u00edtottam. <\/p>\n\n\n\n<p>Term\u00e9szetesen egyszer\u0171 t\u00edpusok is lehetnek a dictionary \u00e9rt\u00e9kei:<\/p>\n\n\n\n<p>P\u00e9ld\u00e1ul n\u00e9h\u00e1ny gy\u00fcm\u00f6lcs \u00e1r\u00e1t is let\u00e1rolhatjuk:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">arak={} #l\u00e9trehozunk egy \u00fcres dictionaryt\narak['alma']=450\narak['k\u00f6rte']=510\narak['cseresznye']=600\nprint(arak)\n{'alma': 450, 'k\u00f6rte': 510, 'cseresznye': 600}\nprint(arak[k\u00f6rte])\n510<\/pre>\n\n\n\n<p>Term\u00e9szetesen a dictionary value (\u00e9rt\u00e9k) r\u00e9sz\u00e9ben lehet list vagy dictionary is<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dic={} # L\u00e9trehoztam egy \u00fcres dictionaryt-t<br>dic['Skoda']={'motor':'1400 ccm','ker\u00e9k':'195 65 R14','tipus':'fabia'}<br>dic['ferrari']={'motor':'6200 ccm','ker\u00e9k':'255\/35R19','tipis':'maranello'}<br>print(dic)<br>{'Skoda': {'motor': '1400 ccm', 'ker\u00e9k': '195 65 R14', 'tipus': 'fabia'}, 'ferrari': {'motor': '6200 ccm', 'ker\u00e9k': '255\/35R19', 'tipis': 'maranello'}}<\/pre>\n\n\n\n<p>Lehet\u0151s\u00e9g van egy list\u00e1ba kigy\u0171jteni egy list\u00e1ba a dictionary \u00f6sszes kulcs\u00e1t (key)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">print(dic.keys())<br>dict_keys(['Skoda', 'ferrari'])<\/pre>\n\n\n\n<p>Ha az \u00e9rt\u00e9kekre (value) van sz\u00fcks\u00e9g:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">print(dic.values())<br>dict_values([{'motor': '1400 ccm', 'ker\u00e9k': '195 65 R14', 'tipus': 'fabia'}, {'motor': '6200 ccm', 'ker\u00e9k': '255\/35R19', 'tipis': 'maranello'}])<\/pre>\n\n\n\n<p>Ezekre majd visszat\u00e9r\u00fcnk a ciklus utas\u00edt\u00e1sokn\u00e1l.<\/p>\n\n\n\n<p><br>Lehet\u0151s\u00e9g van meg\u00e1llap\u00edtani, hogy h\u00e1ny elem (key-value p\u00e1r) van egy dictionaryban <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">print(len(dic))<br>2<\/pre>\n\n\n\n<p>A dictionary-k m\u00e1sol\u00e1sa ugyan \u00fagy t\u00f6rt\u00e9nik, mint list\u00e1k eset\u00e9n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dic2=dic<br>dic['trabant']={'motor':'600 ccm', 'ker\u00e9k':'145\/80R13','tipus':'601'}<br>print(dic2)<br>{'Skoda': {'motor': '1400 ccm', 'ker\u00e9k': '195 65 R14', 'tipus': 'fabia'}, 'ferrari': {'motor': '6200 ccm', 'ker\u00e9k': '255\/35R19', 'tipis': 'maranello'}, 'trabant': {'motor': '600 ccm', 'ker\u00e9k': '145\/80R13', 'tipus': '601'}}<\/pre>\n\n\n\n<p>Ez a fajta \u00e9rt\u00e9kad\u00e1s azt teszi lehet\u0151v\u00e9, hogy ugyan arra a dictionary-ra k\u00e9t (vagy t\u00f6bb) n\u00e9vvel lehessen hivatkozni (ez hasonl\u00f3, mint a list-eset\u00e9n).<\/p>\n\n\n\n<p>Ha a dictionary m\u00e1solat\u00e1ra van sz\u00fcks\u00e9g akkor a copy a megold\u00e1s:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dic2=dic.copy()\n\ndic['trabant2']={'motor':'610 ccm', 'ker\u00e9k':'145\/80R23','tipus':'621'}\nprint(dic2)\n\n{'Skoda': {'motor': '1400 ccm', 'ker\u00e9k': '195 65 R14', 'tipus': 'fabia'}, 'ferrari': {'motor': '6200 ccm', 'ker\u00e9k': '255\/35R19', 'tipis': 'maranello'}, 'trabant': {'motor': '600 ccm', 'ker\u00e9k': '145\/80R13', 'tipus': '601'}}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tuple (kupac)<\/h2>\n\n\n\n<p>A tuple hasonl\u00edt a list-re, azonban nem megv\u00e1ltoztathat\u00f3 (immutable) \u00e9s ordered (sorsz\u00e1m szerint el\u00e9rhet\u0151ek az elemek). <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">tu=(\"alma\",\"k\u00f6rte\",\"szilva\")<\/pre>\n\n\n\n<p>Ha egy tuple-nek csak egy leme van, akkor az elem ut\u00e1n ki kell tenni a vessz\u0151t<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">tu=(\"alma\",)<\/pre>\n\n\n\n<p>T\u00e9rj\u00fcnk vissza az eredeti tuple-hez<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> tu=(\"alma\",\"k\u00f6rte\",\"szilva\") <\/pre>\n\n\n\n<p>A tuple &#8222;ordered&#8221;, teh\u00e1t az egyes elemekre sorsz\u00e1m szerint lehet hivatkozni.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">print(tu[1])<br>k\u00f6rte<\/pre>\n\n\n\n<p>A set unordered, itareble (az \u00f6sszes ebben a cikkben t\u00e1rgyalt t\u00edpushoz hasonl\u00f3an),  halmaza az \u00e9rt\u00e9keknek. Az egyes m\u00e1r l\u00e9tez\u0151 elemek nem megv\u00e1ltoztathat\u00f3ak, azonban az elemek t\u00f6r\u00f6lhet\u0151ek \u00e9s \u00faj elemeket lehet a set-hez adni.  Nem t\u00e1rol ism\u00e9tl\u0151d\u0151 elemeket. F\u0151 el\u0151nye, hogy gyorsan kereshet\u0151ek benne az elemek. <\/p>\n\n\n\n<p>s=set([&#8222;alma&#8221;,&#8221;k\u00f6rte&#8221;,&#8221;cseresznye&#8221;])<br>print(s)<br>{&#8216;cseresznye&#8217;, &#8216;k\u00f6rte&#8217;, &#8216;alma&#8217;}<\/p>\n\n\n\n<p>A sethez tov\u00e1bbi elemeket adhatunk:<\/p>\n\n\n\n<p>s.add(&#8222;ban\u00e1n&#8221;)<br>print(s)<br>{&#8216;ban\u00e1n&#8217;, &#8216;cseresznye&#8217;, &#8216;k\u00f6rte&#8217;, &#8216;alma&#8217;}<\/p>\n\n\n\n<p>Ha ugyan azt az \u00e9rt\u00e9ket k\u00e9tszer adjuk a sethez, csak egyszer fog szerepelni<\/p>\n\n\n\n<p>s.add(&#8222;alma&#8221;)<br>print(s)<br>{&#8216;ban\u00e1n&#8217;, &#8216;cseresznye&#8217;, &#8216;k\u00f6rte&#8217;, &#8216;alma&#8217;}<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A kor\u00e1bbi cikkekben m\u00e1r volt sz\u00f3 v\u00e1ltoz\u00f3kr\u00f3l, stringekr\u0151l A Python lehet\u0151s\u00e9get ad olyan v\u00e1ltoz\u00f3k haszn\u00e1lat\u00e1ra, amit tal\u00e1n \u00f6sszetett v\u00e1ltoz\u00f3knak nevezhet\u00fcnk. Lista (list) Egy list\u00e1ban t\u00f6bbf\u00e9le \u00e9rt\u00e9ket sorolhatunk fel. Minden egyes&hellip;<a href=\"https:\/\/www.itkommando.hu\/site\/python-4-listak-szotarak-tuple-set\/\" class=\"more-link\"><span class=\"more-button\">Tov\u00e1bb a r\u00e9szletekre<span class=\"screen-reader-text\">Python 4 (List\u00e1k, sz\u00f3t\u00e1rak, tuple, set)<\/span><\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":5769,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[94],"tags":[],"class_list":["post-5794","page","type-page","status-publish","has-post-thumbnail","hentry","category-python"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/pages\/5794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/comments?post=5794"}],"version-history":[{"count":10,"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/pages\/5794\/revisions"}],"predecessor-version":[{"id":5825,"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/pages\/5794\/revisions\/5825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/media\/5769"}],"wp:attachment":[{"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/media?parent=5794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/categories?post=5794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itkommando.hu\/site\/wp-json\/wp\/v2\/tags?post=5794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}