logo

Како сортирати тупле у Питхон-у

Торке су тип типа података променљиве која нам омогућава да складиштимо више објеката на једном месту. Торка је уређена и непроменљива (не можемо ажурирати елементе у торци) колекција ставки. Постоје 4 уграђене Питхон структуре података за складиштење елемената, једна од њих је тупле, а друге су Листа, Речник и Сет, свака са сопственим скупом својстава и употребе. Написане су у округлим заградама.

Сортирање тупле у Питхон-у

Коришћење сорт()

Метода сорт() се често користи за сортирање елемената листе у растућем редоследу, при чему је први елемент сортиран подразумевано. Можемо сортирати тупле тако што ћемо га прво претворити у листу, а затим применити ову функцију. Ова функција сортира листу на месту и враћа Ноне.

Улазни

 tuple_ = ('Itika', 'Arshia', 'Peter', 'Parker') list(tuple_).sort() print(tuple_) print(type(tuple_)) 

Излаз:

распакивање у линуксу
 ('Itika', 'Arshia', 'Peter', 'Parker') 

Коришћење сортед()

У Питхон-у користите уграђену функцију сортед() да сортирате тупле. Тупле треба проследити као аргумент функцији сортед(). Ставке тупле су сортиране (подразумевано) у растућем редоследу на листи коју враћа функција. Можемо користити тупле да конвертујемо овај тип података листе у тупле ().

Обрнути параметар функцији сортед() такође може одредити редослед сортирања. Растући је подразумевани редослед сортирања. Ставке се сортирају у опадајућем редоследу када је постављено реверсе=Тачно. Такође можемо навести функцију кључа чије се враћене вредности користе за сортирање ставки. Узимамо тупле, тупле_, који има целобројне вредности, и сортирамо га у растућем редоследу у следећем програму.

Улазни

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Излаз:

 Sorted Tuple : (1, 2, 3, 5, 6, 7, 24) 

Сада сортирамо тупле у опадајућем редоследу користећи исту функцију. Проследите реверсе=Тачно функцији сортед() да бисте сортирали тупле у опадајућем редоследу.

цонцат стрингс јава

Улазни

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_, reverse=True)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Излаз:

 Sorted Tuple : (24, 7, 6, 5, 3, 2, 1) 

Сортирање тупле на основу функције кључа

Кључ је функција која узима вредност и враћа вредност. За сваку од ставки у тупле-у се примењује ова кључна функција, а враћена вредност се користи за поређење за сортирање ставки. У следећем програму сортирамо низ низова на основу дужине низова. У овом случају можемо користити уграђену функцију лен() као кључ.

Улазни

 tuple_ = ('abhd', 'sbchcwsc', 'sjs', 'sxshs') sorted_ = tuple(sorted(tuple_, key=len)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Излаз:

 Sorted Tuple : ('sjs', 'abhd', 'sxshs', 'sbchcwsc') 

Листа за сортирање торки

Коришћење сортед()

Хајде да погледамо како сортирати листу у Питхон-у користећи тупле. Размотрите следећи сценарио: желимо да сортирамо листу торки. Морамо сортирати тупле према било ком кључу који нам је дат. Ово се може постићи коришћењем сортед() функције, која сортира ставке помоћу кључа и чува индекс кључа за сортирање датих точака. Питхон извршавање овог приступа је следеће:

топологија звезда

Улазни

 # Sorting list of tuples according to a key def middle(n): return n[1] # function to sort the tuple def sort(list_of_tuples): return sorted(list_of_tuples, key = middle) # driver code list_ = [(34, 21, 56), (24, 12, 32), (42, 34, 42), (27, 11, 32)] print('Sorted list of Tuples:'), print(sort(list_)) 

Излаз:

 Sorted list of Tuples: [(27, 11, 32), (24, 12, 32), (34, 21, 56), (42, 34, 42)] 

Коришћењем Буббле Сорт

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

У овом примеру, користићемо алгоритам сортирања мехурића да сортирамо листу торки.

Виртуелна меморија

Улазни

 roll = [('Arshia', 26), ('Itika', 53), ('Peter', 82), ('Parker', 74), ('MJ', 45)] first = 0 last = len(roll) for k in range(0, last): for l in range(0, last-k-1): if (roll[l][first] > roll[l + 1][first]): new_item = roll[l] roll[l]= roll[l + 1] roll[l + 1]= new_item print(roll) 

Излаз:

 [('Arshia', 26), ('Itika', 53), ('MJ', 45), ('Parker', 74), ('Peter', 82)]