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