Python TUPLE – Pack, Unpack, Compare, Slicing, Delete, Key
Co je to Tuple Matching Python?
Přiřazení n-tice Python je metoda seskupování n-tic přiřazováním druhého prvku v nicích. Toho je dosaženo použitím slovníku kontrolou druhého prvku v každé n-tice v programování v pythonu. Můžeme však vytvořit nové n-tice tím, že vezmeme části existujících n-tic.
Syntaxe n-tice
Tup = ('Jan','feb','march')
Chcete-li napsat prázdnou n-tici, musíte napsat jako dvě závorky neobsahující nic-
tup1 = ();
Chcete-li zapsat n-tici pro jednu hodnotu, musíte zahrnout čárku, i když existuje jedna hodnota. Také na konci musíte napsat středník, jak je znázorněno níže.
Tup1 = (50,);
Indexy n-tice začínají na 0 a lze je spojovat, dělit na plátky a tak dále.
Zadání n-tice
Python má funkci přiřazení n-tice, která vám umožňuje přiřadit více než jednu proměnnou najednou. Zde jsme přiřadili n-tici 1 s informacemi o osobách jako jméno, příjmení, rok narození atd. a další n-tice 2 s hodnotami v ní jako číslo (1,2,3,….,7).
Například,
(jméno, příjmení, rok narození, oblíbený film a rok, povolání, místo narození) = Robert
Zde je kód,
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print(tup1[0]) print(tup2[1:4])
- Tuple 1 obsahuje seznam informací o Robertovi
- Tuple 2 obsahuje seznam čísel
- V n-tici nazýváme hodnotu pro [0] a pro n-tici 2 nazýváme hodnotu mezi 1 a 4
- Spusťte kód – první n-tice dává jméno Robert, zatímco druhé n-tice dává číslo (2,3 a 4)
Balení a vybalení
Při sbalování vkládáme hodnotu do nové n-tice, zatímco při rozbalování tyto hodnoty extrahujeme zpět do proměnných.
x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print(company) print(emp) print(profile)
Porovnání n-tic
Porovnávací operátor v Python umí pracovat s n-ticemi.
Porovnání začíná prvním prvkem každé n-tice. Pokud se nesrovnávají s =,< nebo >, pokračuje se k druhému prvku a tak dále.
Začíná porovnáním prvního prvku z každé z n-tic
Pojďme si to prostudovat na příkladu-
#případ 1
a=(5,6) b=(1,4) if (a>b):print("a is bigger") else: print("b is bigger")
#případ 2
a=(5,6) b=(5,4) if (a>b):print("a is bigger") else: print ("b is bigger")
#případ 3
a=(5,6) b=(6,4) if (a>b):print("a is bigger") else: print("b is bigger")
Případ 1: Porovnání začíná prvním prvkem každé n-tice. V tomto případě 5>1, takže výstup a je větší
Případ 2: Porovnání začíná prvním prvkem každé n-tice. V tomto případě 5>5, což je neprůkazné. Pokračuje tedy k dalšímu prvku. 6>4, takže výstup a je větší
Případ 3: Porovnání začíná prvním prvkem každé n-tice. V tomto případě 5>6, což je nepravda. Přejde tedy do bloku else a vypíše „b je větší“.
Použití n-tic jako klíčů ve slovnících
Protože n-tice jsou hašovatelné a seznam nikoli, musíme jako klíč použít n-tice, pokud potřebujeme vytvořit složený klíč pro použití ve slovníku.
Příklad: Na složený klíč bychom narazili, pokud bychom potřebovali vytvořit telefonní seznam, který mapuje jméno, příjmení, dvojice telefonních čísel atd. Za předpokladu, že jsme proměnné deklarovali jako poslední a první číslo, mohli bychom napsat příkaz pro přiřazení slovníku, jak je uvedeno níže:
directory[last,first] = number
Uvnitř závorek je výraz n-tice. K navigaci v tomto slovníku bychom mohli použít přiřazení n-tice ve smyčce for.
for last, first in directory:
print first, last, directory[last, first]
Tato smyčka naviguje klávesy v adresáři, což jsou n-tice. Přiřadí prvky každé n-tice poslednímu a prvnímu a poté vytiskne jméno a odpovídající telefonní číslo.
N-tice a slovník
Slovník může vrátit seznam n-tic voláním položek, kde každá n-tice je párem klíč-hodnota.
a = {'x':100, 'y':200} b = list(a.items()) print(b)
Mazání n-tic
N-tice jsou neměnné a nelze je smazat. Nemůžete odstranit nebo odebrat položky z n-tice. Úplné odstranění n-tice je však možné pomocí klíčového slova
del
Krájení Tuple
K načtení konkrétních sad dílčích prvků z n-tice nebo seznamu používáme tuto jedinečnou funkci zvanou slicing. Slicování není použitelné pouze pro n-tice, ale také pro pole a seznam.
x = ("a", "b","c", "d", "e") print(x[2:4])
Výstupem tohoto kódu bude ('c', 'd').
Zde je Python 2 Kód pro všechny výše uvedené příklady
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print tup1[0] print tup2[1:4] #Packing and Unpacking x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print company print emp print profile #Comparing tuples #case 1 a=(5,6) b=(1,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 2 a=(5,6) b=(5,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 3 a=(5,6) b=(6,4) if (a>b):print "a is bigger" else: print "b is bigger" #Tuples and dictionary a = {'x':100, 'y':200} b = a.items() print b #Slicing of Tuple x = ("a", "b","c", "d", "e") print x[2:4]
Vestavěné funkce s Tuple
K provádění různých úkolů vám n-tice umožňuje použít mnoho vestavěných funkcí, jako je all(), any(), enumerate(), max(), min(), sort(), len(), tuple() atd.
Výhody n-tice oproti seznamu
- Iterace přes n-tice je rychlejší než se seznamem, protože n-tice jsou neměnné.
- N-tice, které se skládají z neměnných prvků, lze použít jako klíč pro slovník, což u seznamu není možné
- Pokud máte data, která jsou neměnná, jejich implementace jako n-tice zaručí, že zůstanou chráněna proti zápisu
Shrnutí
Python má funkci přiřazení n-tice, která vám umožňuje přiřadit více než jednu proměnnou najednou.
- Balení a vybalování n-tic
- Při sbalování vkládáme hodnotu do nové n-tice, zatímco při rozbalování tyto hodnoty extrahujeme zpět do proměnných.
- A srovnávací operátor v Python umí pracovat s n-ticemi.
- Použití n-tic jako klíčů ve slovnících
- N-tice jsou hašovatelné a seznam nikoli
- Pokud potřebujeme vytvořit složený klíč pro použití ve slovníku, musíme jako klíč použít n-tici
- Slovník může vrátit seznam n-tic voláním položek, kde každá n-tice je párem klíč-hodnota
- N-tice jsou neměnné a nelze je smazat. Nemůžete odstranit nebo odebrat položky z n-tice. Úplné smazání n-tice je však možné pomocí klíčového slova „del“
- K načtení konkrétních sad dílčích prvků z n-tice nebo seznamu používáme tuto jedinečnou funkci zvanou slicing