logo

Nestede Tuples i Python

En nestet tuppel er en Python-tuppel som har blitt plassert inne i en annen tuppel. La oss ta en titt på følgende 8-elements tuppel.

binær søkepython
 tuple = (12, 23, 36, 20, 51, 40, (200, 240, 100)) 

Dette siste elementet, som består av tre elementer omsluttet i parentes, er kjent som en nestet tuppel siden den er inne i en annen tuppel. Navnet på hovedtuppelen med indeksverdien, tuppel[indeks], kan brukes for å få den nestede tuppelen, og vi kan få tilgang til hvert element i den nestede tuppelen ved å bruke tuppel[indeks-1][indeks-2].

Eksempel på en nestet tuppel

Kode

 # 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) 

Produksjon:

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

Noen operasjoner av nestede tuples

Vi vil se to nødvendige operasjoner av nestede tupler.

Sammenknytting av tupler til nestede tupler

Når du har å gjøre med tupler, er det noen ganger nødvendig å gjøre separate poster om til en nestet gruppe mens du beholder dem som uavhengige elementer. Tupler tilsettes ofte ved å legge til innholdet, noe som flater ut den resulterende beholderen, noe som vanligvis er uønsket. La oss snakke om noen tilnærminger for å løse dette problemet.

Bruk av +-operatoren og ',' under initialisering

I denne teknikken legger vi til tuppelmedlemmer som vi gjør, men når vi initialiserer tupler, legger vi til et komma etter hver tuppel for å forhindre utflating under tillegg.

Kode

 # 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)) 

Produksjon:

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

Ved å bruke ','-operatøren

Denne oppgaven kan utføres ved å bruke ','-operatoren under sammenkobling. Den kan utføre sikker sammenkobling.

Kode

 # 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)) 

Produksjon:

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

Sortering av nestede tupler

Vi kan bruke sorted()-metoden for å sortere en gitt tuppel. Som standard sorterer denne metoden tuppelen i stigende rekkefølge. For eksempel vil print(sorted(employee)) ordne tuppelen 'ansatt' i henhold til identifikasjonsnummeret som vises som det 0. medlemmet av alle nestede tuples. Vi kan bruke en lambda-funksjon til å sortere tuppelen vår avhengig av de andre elementene i den nestede tuppelen, som ansattnavnet eller antallet, som er det første og andre medlemmet av de nestede tuplene: print(sorted(ansatt, nøkkel = lambda) x: x[1])).

I dette tilfellet forteller nøkkelen sortered()-funksjonen, i henhold til hvilke elementer vi skal sortere tuppelen. Lambda-uttrykket: lambda x: x[1] innebærer at nøkkelen, som er index one-elementet, bør vurderes for sortering. Vi kan skrive lambda-uttrykket som lambda x: x[2] for å sortere tuppelen vår etter ordantallet.

java iterator for kart

Kode

 # 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)) 

Produksjon:

 [(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)]