logo

Beágyazott sorok Pythonban

A beágyazott sor egy Python-rekord, amely egy másik leíró belsejébe került. Vessünk egy pillantást a következő 8 elemű sorra.

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

Ez az utolsó elem, amely három zárójelben lévő elemből áll, beágyazott sorként ismert, mivel egy másik leíróban található. Az indexértékkel rendelkező fő tuple neve, a tuple[index] felhasználható a beágyazott sor lekérésére, és a beágyazott sor minden elemét a tuple[index-1][index-2] segítségével érhetjük el.

Példa egy beágyazott sorra

Kód

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

Kimenet:

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

A beágyazott sorok néhány művelete

A beágyazott sorok két szükséges műveletét fogjuk látni.

Sorok összefűzése egymásba ágyazott sorokhoz

Amikor sorokat kezelünk, időnként szükség van arra, hogy a különálló rekordokat beágyazott csoportokká alakítsuk, miközben független elemekként tartják meg őket. A sorokat gyakran a tartalom hozzáadásával adják hozzá, ami ellaposítja a kapott tartályt, ami általában nem kívánatos. Beszéljünk a probléma megoldásának néhány megközelítéséről.

A + operátor és a ',' használata inicializálás során

szalmán kán kán kor

Ennél a technikánál ugyanúgy adunk hozzá sortagokat, mint ahogyan szoktuk, de a sorok inicializálása során minden sor után vesszőt fűzünk, hogy megakadályozzuk az összeadás közbeni laposodást.

Kód

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

Kimenet:

java rendezési karakterláncok
 Tuple 1 : ((5, 4),) Tuple 2 : ((1, 6),) The nested tuple : ((5, 4), (1, 6)) 

A ',' Operator használatával

Ezt a feladatot a ',' operátor alkalmazásával hajthatjuk végre az összefűzés során. Biztonságos összefűzést tud végrehajtani.

Kód

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

Kimenet:

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

Beágyazott sorok rendezése

A sorted() metódus segítségével rendezhetünk egy adott sort. Alapértelmezés szerint ez a metódus növekvő sorrendbe rendezi a sorokat. Például a print(sorted(alkalmazott)) az „employee” sort az összes beágyazott sor 0. tagjaként megjelenő azonosító szám szerint rendezi el. Lambda függvénnyel rendezhetjük sorunkat a beágyazott sor többi elemétől függően, mint például az alkalmazott neve vagy a szám, amely a beágyazott sorok első és második tagja: print(sorted(munkavállaló, kulcs = lambda x: x[1])).

húrhoz hasonlítani

Ebben az esetben a kulcs megmondja a sorted() függvénynek, hogy mely elemek szerint kell rendeznünk a sort. A lambda kifejezés: lambda x: x[1] azt jelenti, hogy a kulcsot, amely az index egy eleme, figyelembe kell venni a rendezéshez. A lambda kifejezést felírhatjuk lambda x-ként: x[2], hogy a sorunkat a szószám szerint rendezzük.

Kód

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

Kimenet:

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