logo

Угнежђени тупле у Питхон-у

Угнежђена торка је Питхон торка која је смештена унутар друге торке. Хајде да погледамо следећи скуп од 8 елемената.

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

Овај последњи елемент, који се састоји од три ставке затворене у загради, познат је као угнежђена торка пошто се налази унутар друге торке. Име главне торке са вредношћу индекса, тупле[индек], може се користити за добијање угнежђене торке, а свакој ставци угнежђене торке можемо приступити коришћењем тупле[индек-1][индек-2].

Пример угнежђеног тупле-а

Код

атрибут грешка питхон
 # 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) 

Излаз:

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

Неке операције угнежђених точака

Видећемо две неопходне операције угнежђених точака.

Повезивање торки у угнежђене торке

Када се ради са торкама, повремено је потребно претворити одвојене записе у угнежђену групу док их чувате као независне елементе. Тупле се често додају додавањем садржаја, чиме се резултујући контејнер изравнава, што је обично непожељно. Хајде да разговарамо о неким приступима решавању овог проблема.

шта је интерфејс

Коришћење оператора + и ',' током иницијализације

У овој техници додајемо чланове тупле као и ми, али када иницијализујемо торке, додајемо зарез после сваке торке да бисмо спречили спљоштавање током сабирања.

Код

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

Излаз:

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

Коришћење оператора ','

Овај задатак се може извршити применом оператора ',' током конкатенације. Може да изврши сигурну конкатенацију.

Код

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

Излаз:

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

Сортирање угнежђених точака

Можемо да користимо метод сортед() да сортирамо дату тупле. Подразумевано, овај метод сортира тупле у растућем редоследу. На пример, принт(сортед(емплоиее)) ће уредити тупле 'емплоиее' према идентификационом броју који се појављује као 0. члан свих угнежђених точака. Можемо да користимо ламбда функцију да сортирамо нашу точку у зависности од других елемената угнежђене торке, као што је име запосленог или број, који је први и други члан угнежђених точака: принт(сортед(емплоиее, кеи = ламбда к: к[1])).

шта је монитор

У овом случају, кључ говори сортед() функцији, према којим елементима треба да сортирамо тупле. Ламбда израз: ламбда к: к[1] имплицира да кључ, који је елемент индекса један, треба узети у обзир за сортирање. Ламбда израз можемо написати као ламбда к: к[2] да сортирамо нашу торбу према броју речи.

Код

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

Излаз:

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