{"id":454,"date":"2021-10-17T11:54:24","date_gmt":"2021-10-17T09:54:24","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=454"},"modified":"2021-10-17T12:06:42","modified_gmt":"2021-10-17T10:06:42","slug":"krotki-tuples-w-pythonie","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/krotki-tuples-w-pythonie\/","title":{"rendered":"Krotki (tuples) w Pythonie"},"content":{"rendered":"<p>Krotki (z ang. tuples) to struktury danych, w kt\u00f3rym znajduje si\u0119 uporz\u0105dkowany ci\u0105g warto\u015bci. <!--more--><\/p>\n<p>To co odr\u00f3\u017cnia krotki od list, to ich sta\u0142e warto\u015bci. W przypadku list, warto\u015bci mo\u017cemy modyfikowa\u0107, na przyk\u0142ad na potrzeby serwis\u00f3w internetowych, dane u\u017cytkownika, dane postaci w grze RPG, itp. <strong>Krotki<\/strong>, to takie <strong>niemodyfikowalne listy<\/strong>, z kt\u00f3rych korzystamy w czasie, gdy zachodzi potrzeba u\u017cycia danych niezmieniaj\u0105cych si\u0119 w czasie \u017cycia programu.<\/p>\n<h2>Definiowanie krotek (tuples)<\/h2>\n<p>W przeciwie\u0144stwie do list, gdzie definiowanie ich odbywa si\u0119 w nawiazach kwadratowych, np. <code>lista = [1,2,3]<\/code>, tak w przypadku krotek, robi si\u0119 to za pomoc\u0105 nawias\u00f3w zwyk\u0142ych, czyli <code>krotka = (1,2,3)<\/code>. W krotkach, chc\u0105c wywo\u0142a\u0107 odpowiedni\u0105, mo\u017cemy pos\u0142ugiwa\u0107 si\u0119 jej indeksem, np.:<\/p>\n<div>\n<div><code>rozmiary =(200,50)<\/code><\/div>\n<div><code>print(rozmiary[0])<\/code><\/div>\n<div><code>print(rozmiary[1])<\/code><\/div>\n<div><\/div>\n<\/div>\n<div>je\u015bli jednak zechcieliby\u015bmy zmieni\u0107 warto\u015b\u0107 elementu o indeksie <code>[0]<\/code>, np. <code>rozmiary[0]=233<\/code>, Python poinformuje nas o b\u0142\u0119dzie &#8211; <em>&#8217;tuple&#8217; object does not support item assignment.<\/em><\/div>\n<div><\/div>\n<div>Definiowanie krotki jednoelementowej wygl\u0105da jak w poni\u017cszym przyk\u0142adzie. Musimy zachowa\u0107 konwencj\u0119, stosuj\u0105c znak przecinka.<\/div>\n<div><code>pojedynczaKrotka = (200,)<\/code><\/div>\n<div><\/div>\n<h2>Modyfikowa\u0107 nie mo\u017cna, na nowo zdefiniowa\u0107 mo\u017cna<\/h2>\n<p>Krotki nie mo\u017cna modyfikowa\u0107, o czym powiedzieli\u015bmy sobie wcze\u015bniej, mo\u017cna jednak zdefiniowa\u0107 jej warto\u015bci na nowo, podobnie jak w przypadku zmiennej, na przyk\u0142ad<\/p>\n<div>\n<div><code>rozmiary = (200,50)<\/code><\/div>\n<div><code>print(\"Rozmiary pocz\u0105tkowe:\")<\/code><\/div>\n<div><code>for rozmiar in rozmiary:<\/code><\/div>\n<div><code>\u00a0 \u00a0 print(rozmiar)<\/code><\/div>\n<div><code>rozmiary = (500,75)<\/code><\/div>\n<div><code>print(\"Rozmiary po modyfikacji:\")<\/code><\/div>\n<div><code>for rozmiar in rozmiary:<\/code><\/div>\n<div><code>\u00a0 \u00a0 print(rozmiar)<\/code><\/div>\n<\/div>\n<div><\/div>\n<h2>\u0106wiczenia z krotkami<\/h2>\n<div>\u0106wiczenie 1.<\/div>\n<div>Wypiszmy 5 potraw, dowolnych w krotce, nast\u0119pnie wywo\u0142ajmy potraw\u0119 o indeksie [3] w zdaniu w stylu &#8222;Moja ulubiona potrawa z listy to&#8230;&#8221;<\/div>\n<div><\/div>\n<div>\n<div>\n<div><code>potrawy =('Strogonow','Dewolay','Krokiety z mi\u0119sem','\u017burek','Frytki z kurczakiem')<\/code><\/div>\n<div><code>print(\"Moja ulubiona potrawa z listy to \"+potrawy[3])<\/code><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<div>\u0106wiczenie 2.<\/div>\n<div>Wylistujmy z pomoc\u0105 p\u0119tli FOR wszystkie potrawy z naszej krotki<\/div>\n<div>\n<div>\n<div><code>potrawy =('Strogonow','Dewolay','Krokiety z mi\u0119sem','\u017burek','Frytki z kurczakiem')<\/code><\/div>\n<div><code>for potrawa in potrawy:<\/code><\/div>\n<div><code>\u00a0 \u00a0 print(potrawa)<\/code><\/div>\n<div><\/div>\n<\/div>\n<\/div>\n<div>\u0106wiczenie 3.<\/div>\n<div>Chcemy zmienic teraz ca\u0142e menu, zast\u0105pi\u0107 cz\u0119\u015b\u0107 istniej\u0105cych potraw innymi i zaprezentowa\u0107 star\u0105 krotk\u0119 (przed zmian\u0105) i po zmianie<\/div>\n<div>\n<div>\n<div><code>print(\"\\nNasze potrawy przed zmian\u0105 menu:\")<\/code><\/div>\n<div><code>potrawy =('Strogonow','Dewolay','Krokiety z mi\u0119sem','\u017burek','Frytki z kurczakiem')<\/code><\/div>\n<div><code>for potrawa in potrawy:<\/code><\/div>\n<div><code>\u00a0 \u00a0 print(potrawa)<\/code><\/div>\n<div><code>print(\"\\n\\nZmienione menu:\")<\/code><\/div>\n<div><code>potrawy =('Ryba po grecku','Nale\u015bniki z serem','Krokiety z mi\u0119sem','Zupa pomidorowa','Megaburger')<\/code><\/div>\n<div><code>for potrawa in potrawy:<\/code><\/div>\n<div><code>\u00a0 \u00a0 print(potrawa)<\/code><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Krotki (z ang. tuples) to struktury danych, w kt\u00f3rym znajduje si\u0119 uporz\u0105dkowany ci\u0105g warto\u015bci.<\/p>\n","protected":false},"author":1,"featured_media":458,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[40,34],"class_list":["post-454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-python-cwiczenia","tag-python-podstawy"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/454","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=454"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/454\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media\/458"}],"wp:attachment":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media?parent=454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}