logo

Sisäkkäiset Tuples Pythonissa

Sisäkkäinen monikko on Python-monitori, joka on sijoitettu toisen monikon sisään. Katsotaanpa seuraavaa 8 elementin monikkoa.

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

Tämä viimeinen elementti, joka koostuu kolmesta suluissa olevasta alkiosta, tunnetaan sisäkkäisenä monikkona, koska se sisältyy toiseen monitoon. Indeksin arvon sisältävän päätupelin nimeä tuple[index] voidaan käyttää sisäkkäisen monikon saamiseksi, ja pääsemme käsiksi jokaiseen sisäkkäisen monikon kohtaan käyttämällä tuple[index-1][index-2].

Esimerkki sisäkkäisestä tuplesta

Koodi

bubble sort java
 # 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) 

Lähtö:

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

Joitakin sisäkkäisten ruutujen toimintoja

Näemme kaksi tarpeellista sisäkkäisten monikoiden toimintoa.

Lukujen ketjuttaminen sisäkkäisiin ketjuihin

Kun käsitellään monikkoa, on toisinaan tarpeen muuttaa erilliset tietueet sisäkkäisiksi ryhmiksi säilyttäen samalla ne itsenäisinä elementteinä. Tupleja lisätään usein lisäämällä sisältö, mikä tasoittaa tuloksena olevan säiliön, mikä on tyypillisesti ei-toivottua. Puhutaanpa joistakin lähestymistavoista tämän ongelman ratkaisemiseksi.

java matematiikka

Käytä +-operaattoria ja ',' alustuksen aikana

Tässä tekniikassa lisäämme monikon jäseniä kuten teemme, mutta kun alustetaan monikkoa, lisäämme pilkun jokaisen monikon perään estääksemme litistymisen lisäyksen aikana.

Koodi

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

Lähtö:

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

Operaattorin käyttäminen

Tämä tehtävä voidaan suorittaa käyttämällä operaattoria ',' ketjutuksen aikana. Se voi suorittaa turvallisen ketjutuksen.

Koodi

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

Lähtö:

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

Sisäkkäisten ketjujen lajittelu

Voimme käyttää sorted()-menetelmää tietyn monikon lajitteluun. Oletusarvoisesti tämä menetelmä lajittelee monikon nousevaan järjestykseen. Esimerkiksi print(sorted(employee)) järjestää monikon 'työntekijä' tunnistenumeron mukaan, joka näkyy kaikkien sisäkkäisten monikoiden 0. jäsenenä. Voimme käyttää lambda-funktiota lajittelemaan monikkomme sisäkkäisen monikon muista elementeistä, kuten työntekijän nimestä tai lukumäärästä, joka on sisäkkäisten monikoiden ensimmäinen ja toinen jäsen: print(sorted(työntekijä, avain = lambda x: x[1])).

foreach konekirjoitus

Tässä tapauksessa avain kertoo sorted()-funktiolle, minkä elementtien mukaan monikko tulee lajitella. Lambda-lauseke: lambda x: x[1] tarkoittaa, että avain, joka on indeksin yksi elementti, on otettava huomioon lajittelussa. Voimme kirjoittaa lambda-lausekkeen muodossa lambda x: x[2] lajitellaksemme monikkomme sanamäärän mukaan.

Koodi

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

Lähtö:

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