N-tice (Tuples)

N-tice jsou neměnnou variantou seznamů. Proč jej potřebujeme? Mimo jiné slouží jako klíče k slovníkům, viz pozdější lekce.

Vytvoření n-tice

Prázdná n-tice se vytvoří takto:

>>> x = ()
>>> type(x)
<class 'tuple'>

Pokud oddělíte nějaké hodnoty pomocí čárky, automaticky dostanete n-tici.

>>> 1, 2, 3
(1, 2, 3)

N-tici můžete také vytvořit takto:

>>> (1, 2, 3)
(1, 2, 3)

Pokud chcete vytvořit n-tici s jedinou hodnotou, musíte to udělat pomocí následujícího triku.

>>> 11
11
>>> 11,
(11,)
>>> (11,)
(11,)

Funkce tuple()

Jako argument předáváme této funkci sekvenci a ona ji konvertuje na n-tici.

>>> tuple([1, 2, 3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')

Co se stane, když předáme jako parametr funkci tuple() jiže existující n-tici? Vyzkoušejte si to.

{
  "data": {
    "sessionMaterial": {
      "id": "session-material:2019/tieto-ostrava-jaro:lists-and-tupples:2",
      "title": "N-tice (Tuples)",
      "html": "\n          \n    \n\n    <h2>N-tice (Tuples)</h2>\n<p>N-tice jsou nem&#x11B;nnou variantou seznam&#x16F;. Pro&#x10D; jej pot&#x159;ebujeme? Mimo jin&#xE9; slou&#x17E;&#xED; jako kl&#xED;&#x10D;e k slovn&#xED;k&#x16F;m, viz pozd&#x11B;j&#x161;&#xED; lekce.</p>\n<h3>Vytvo&#x159;en&#xED; n-tice</h3>\n<p>Pr&#xE1;zdn&#xE1; n-tice se vytvo&#x159;&#xED; takto:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; x = ()\n&gt;&gt;&gt; type(x)\n&lt;class &apos;tuple&apos;&gt;</code></pre></div><p>Pokud odd&#x11B;l&#xED;te n&#x11B;jak&#xE9; hodnoty pomoc&#xED; &#x10D;&#xE1;rky, automaticky dostanete n-tici.</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 1, 2, 3\n(1, 2, 3)</code></pre></div><p>N-tici m&#x16F;&#x17E;ete tak&#xE9; vytvo&#x159;it takto:</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; (1, 2, 3)\n(1, 2, 3)</code></pre></div><p>Pokud chcete vytvo&#x159;it n-tici s jedinou hodnotou, mus&#xED;te to ud&#x11B;lat pomoc&#xED; n&#xE1;sleduj&#xED;c&#xED;ho triku.</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; 11\n11\n&gt;&gt;&gt; 11,\n(11,)\n&gt;&gt;&gt; (11,)\n(11,)</code></pre></div><h4>Funkce tuple()</h4>\n<p>Jako argument p&#x159;ed&#xE1;v&#xE1;me t&#xE9;to funkci sekvenci a ona ji konvertuje na n-tici.</p>\n<div class=\"highlight\"><pre><code>&gt;&gt;&gt; tuple([1, 2, 3])\n(1, 2, 3)\n&gt;&gt;&gt; tuple(&apos;abc&apos;)\n(&apos;a&apos;, &apos;b&apos;, &apos;c&apos;)</code></pre></div><div class=\"admonition note\"><p>Co se stane, kdy&#x17E; p&#x159;ed&#xE1;me jako parametr funkci tuple() ji&#x17E;e existuj&#xED;c&#xED; n-tici? Vyzkou&#x161;ejte si to.</p>\n</div>\n\n\n        "
    }
  }
}