Python tutoriál 9. díl

N-tice Tuple

Používá se k uložení více položek do jedné proměnné. Je to uspořádaná a neměnná kolekce. Zapisuje se pomocí kulatých závorek.

Jsou definovány jako objekt s datovým typem ‚tuple‘.

Chcete-li vytvořit n-tici pouze s jednou položkou, musíte za položku přidat čárku, jinak ji Python jako n-tici nerozpozná:

Jednotlivé položky n-tice Tuple mohou obsahovat libovolné datové typy stejně jako seznam List.

Konstruktor

Je možné používat tuple() konstruktor:

Změňte „neměnné“ hodnoty n-tice

Jakmile je n-tice vytvořena, nemůžete měnit její hodnoty. N-tice jsou neměnné nebo spíše „neměnné“.

N-tici můžete převést na seznam, změnit seznam a převést seznam zpět na n-tici.

Pro Tuple existují buď stejné metody jako pro List nebo pokud něco n-tice neumožňuje, lze to obejít převedením na seznam a zpět.

Zopakujeme si rozbalení do proměnných:

Použití * hvězdičky

Pokud je počet proměnných menší než počet hodnot, můžete k názvu proměnné přidat * „Asterisk“ a hodnoty budou přiřazeny proměnné jako seznam:

Pokud je hvězdička přidána k jinému názvu proměnné než k poslednímu, Python bude proměnné přiřazovat hodnoty, dokud počet zbývajících hodnot nebude odpovídat počtu zbývajících proměnných:

Násobení n-tice

Pokud chcete vynásobit obsah n-tice daným počtem, můžete použít operátor *:

Množiny Set

Jsou neindexované neuspořádané a „neměnitelné“ kolekce. Jejich položky jsou neměnitelné, ale můžete je odstranit a nahradit.

Neumožňují duplicitní hodnoty.

Neuspořádané znamená, že položky v Set nemají definované pořadí a mohou objevit v jiném pořadí pokaždé, když je použijete. Nelze na ně odkazovat podle indexu nebo klíče.

Zapisují se pomocí složených závorek:

Hodnoty True a 1 nebo False a 0 jsou v množinách považovány za stejné hodnoty a tudíž duplikáty:

Přidávání položek

Jakmile je sada vytvořena, nemůžete měnit její položky, ale můžete přidávat nové položky.

Chcete-li přidat jednu položku, použijte metodu add().

Chcete-li přidat položky z jiné množiny, použijte metodu update().

Objekt v metodě update() nemusí být množina, může to být libovolný iterovatelný objekt (n-tice, seznamy, slovníky atd.).

Odstranění položky

Odebrat položku můžete metodou remove() nebo discard(). Neexistující položka vyvolá v remove() chybu, v discard() ne:

K odstranění položky můžete také použít metodu pop(), ale tato metoda odstraní náhodnou položku, takže si nemůžete být jisti, která položka bude odstraněna.

Návratovou hodnotou metody pop() je odstraněná položka.

Slučování množin

Existuje několik metod, které sloučí dvě nebo více množin:

  • union() a update() sloučí položky z obou sad bez duplicit.
  • intersection() zachová POUZE duplicitní prvky.
  • different() zachová prvky první množiny, které nejsou v dalších.
  • symmetric_difference() zachovává všechny prvky KROMĚ duplicitních.

Sloučení množiny s jinou kolekcí

Metoda union() umožňuje spojit sadu s jinými datovými typy, jako jsou seznamy nebo n-tice, ale|ne.

Výsledkem bude množina:

Metoda update() vloží všechny položky z jedné množiny do druhé:

Metoda intersection() „průnik“ vrátí novou množinu, která obsahuje pouze ty prvky, které se nacházejí v obou množinách.

Operátor & umožňuje spojovat pouze množiny s množinami, nikoliv s jinými datovými typy, jako to umožňuje metoda intersection().

Metoda intersection_update() také zachová POUZE duplicitní prvky, ale na rozdíl od intersection() změní původní množinu namísto toho, aby vrátila novou.

Hodnoty True a 1 nebo False a 0 jsou považovány za stejnou hodnotu.

Metoda difference() vrátí novou množinu, která bude obsahovat pouze ty prvky z první množiny, které nejsou přítomny v druhé množině.

Metoda different_update() také zachová prvky z první množiny, které nejsou v druhé.

Metoda symmetric_difference() zachová pouze ty prvky, které NEJSOU přítomny v obou množinách.

Metoda symmetric_difference_update() také zachová všechny prvky kromě duplicitních, ale místo vracení nové sady změní původní sadu.

Metody množin

metodaoperátorpopis
add()Přidá prvek.
clear()Odebere všechny prvky.
copy()Vrátí kopii množiny.
difference()Vrátí množinu obsahující rozdíl mezi dvěma nebo více množinami.
difference_update()-=Odebere položky množiny, které jsou také zahrnuty v jiné specifikované množině.
discard()Odstraní z zadanou položku.
intersection()&Vrátí množinu, která je průnikem dvou dalších množin.
intersection_update()&=Odebere z množiny prvky, které neobsahují další specifikované množiny.
isdisjoint()Vrátí, zda mají dvě množiny průnik.
issubset()<=Vrátí, zda je podmnožinou specifikované množiny.
<Vrátí, zda jsou všechny položky této množiny přítomny v jiných.
issuperset()>=Vrátí, zda tato množina obsahuje specifikovanou podmnožinu.
>Vrátí, zda všechny položky z jiných, specifikovaných množin jsou přítomny v této množině.
pop()Odebere prvek z množiny.
remove()Odebere zadaný prvek.
symmetric_difference()^Vrátí množinu se symetrickými rozdíly dvou množin.
symmetric_difference_update()^=Vloží symetrické rozdíly z této a jiné množiny.
union()|Vrátí množinu obsahující sjednocení množin.
update()|=Aktualizujte množinu spojením této množiny s ostatními.

Python tutoriál 10. díl