logo

Ugniježđene tuple u Pythonu

Ugniježđena tuple je Python tuple koja je smještena unutar druge tuple. Pogledajmo sljedeću torku od 8 elemenata.

 tuple = (12, 23, 36, 20, 51, 40, (200, 240, 100)) 

Ovaj posljednji element, koji se sastoji od tri stavke u zagradama, poznat je kao ugniježđena tuple jer se nalazi unutar druge tuple. Ime glavne tuple s vrijednošću indeksa, tuple[index], može se koristiti za dobivanje ugniježđene tuple, a svakoj stavci ugniježđene tuple možemo pristupiti korištenjem tuple[index-1][index-2].

Primjer ugniježđene tuple

Kodirati

primjer java podniza
 # Python program to create a nested tuple # Creating a nested tuple of one element only employee = ((10, 'Itika', 13000),) print(employee) # Creating a multiple-value nested tuple employee = ((10, 'Itika', 13000), (24, 'Harry', 15294), (15, 'Naill', 20001), (40, 'Peter', 16395)) print(employee) 

Izlaz:

 ((10, 'Itika', 13000),) ((10, 'Itika', 13000), (24, 'Harry', 15294), (15, 'Naill', 20001), (40, 'Peter', 16395)) 

Neke operacije ugniježđenih torki

Vidjet ćemo dvije neophodne operacije ugniježđenih torki.

Ulančavanje tuple u ugniježđene tuple

Kada se radi o torkama, povremeno je potrebno zasebne zapise pretvoriti u ugniježđenu grupu dok ih zadržavate kao neovisne elemente. Korke se često dodaju dodavanjem sadržaja, što izravnava rezultirajući spremnik, što je obično nepoželjno. Razgovarajmo o nekim pristupima rješavanju ovog problema.

sunčano diol doba

Upotreba operatora + i ',' tijekom inicijalizacije

U ovoj tehnici dodajemo članove tuple kao i mi, ali kada inicijaliziramo tuple, dodajemo zarez nakon svake tuple kako bismo spriječili izravnavanje tijekom zbrajanja.

Kodirati

 # Python program to concatenate tuples to make a nested tuple # initializing the tuples tup1 = (5, 4), tup2 = (1, 6), # printing the original tuples print('Tuple 1 : ' + str(tup1)) print('Tuple 2 : ' + str(tup2)) # Concatenating the two tuples to a nested tuple using the + operator nested = tup1 + tup2 # printing the result print('The nested tuple : ' + str(nested)) 

Izlaz:

 Tuple 1 : ((5, 4),) Tuple 2 : ((1, 6),) The nested tuple : ((5, 4), (1, 6)) 

Korištenje operatora ','

Ovaj se zadatak može izvršiti primjenom operatora ',' tijekom ulančavanja. Može izvesti sigurno ulančavanje.

Kodirati

 # Python program to concatenate tuples to make a nested tuple # initializing the tuples tup1 = (5, 4) tup2 = (1, 6) # printing the original tuples print('Tuple 1 : ' + str(tup1)) print('Tuple 2 : ' + str(tup2)) # Concatenating the tuples by using the ', 'operator after tuples nested = ((tup1, ) + (tup2, )) # printing result print('The nested tuple ' + str(nested)) 

Izlaz:

 Tuple 1 : (5, 4) Tuple 2 : (1, 6) The nested tuple ((5, 4), (1, 6)) 

Razvrstavanje ugniježđenih torki

Možemo koristiti metodu sorted() za sortiranje zadane torke. Prema zadanim postavkama, ova metoda sortira tuple uzlaznim redoslijedom. Na primjer, print(sorted(employee)) će rasporediti tuple 'employee' prema identifikacijskom broju koji se pojavljuje kao 0. član svih ugniježđenih tuplea. Možemo upotrijebiti lambda funkciju za sortiranje naše tuple ovisno o drugim elementima ugniježđene tuple, kao što je ime zaposlenika ili broj, koji je prvi i drugi član ugniježđene tuple: print(sorted(employee, key = lambda) x: x[1])).

java korisnički unos

U ovom slučaju, ključ govori funkciji sorted() prema kojim elementima trebamo sortirati torku. Lambda izraz: lambda x: x[1] implicira da ključ, koji je element indeksa jedan, treba uzeti u obzir za sortiranje. Lambda izraz možemo napisati kao lambda x: x[2] da sortiramo našu torku prema broju riječi.

Kodirati

 # Python program to sort the nested tuple using the sorted() function # Creating a nested tuple employee = ((10, 'Itika', 13000), (24, 'Harry', 15294), (15, 'Naill', 20001), (40, 'Peter', 16395)) # Sorting the tuple by default on the id print(sorted(employee)) # Sorting the tuple on id in reverse order print(sorted(employee, reverse = True)) # Sorting the tuple on name using lambda function print(sorted(employee, key = lambda x: x[1])) # Sorting the tuple on the name in reverse order print(sorted(employee, key = lambda x: x[1], reverse = True)) # Sorting the tuple on the word count print(sorted(employee, key = lambda x: x[2])) # Sorting the tuple on the word count in reverse print(sorted(employee, key = lambda x: x[2], reverse = True)) 

Izlaz:

 [(10, 'Itika', 13000), (15, 'Naill', 20001), (24, 'Harry', 15294), (40, 'Peter', 16395)] [(40, 'Peter', 16395), (24, 'Harry', 15294), (15, 'Naill', 20001), (10, 'Itika', 13000)] [(24, 'Harry', 15294), (10, 'Itika', 13000), (15, 'Naill', 20001), (40, 'Peter', 16395)] [(40, 'Peter', 16395), (15, 'Naill', 20001), (10, 'Itika', 13000), (24, 'Harry', 15294)] [(10, 'Itika', 13000), (24, 'Harry', 15294), (40, 'Peter', 16395), (15, 'Naill', 20001)] [(15, 'Naill', 20001), (40, 'Peter', 16395), (24, 'Harry', 15294), (10, 'Itika', 13000)]