logo

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

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

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

разлика између фирме и компаније

Речник је декларисан помоћу витичастих заграда {}, а пар кључ-вредност је одвојен зарезом.

 dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1) 

Излаз:

Зашто треба сортирати речник

  • Временска сложеност претраге листе је О(н), а речник има сложеност времена претраге 0(1), што чини да је речник бржи од листе. Речник се може користити за листу кад год је то потребно.
  • Сортирање нам омогућава да ефикасно анализирамо податке када радимо са структуром података.
  • Сортирани речник пружа боље разумевање за руковање сложеним операцијама.

Хајде да разумемо различите начине сортирања речника.

  • Сортирање по кључевима
  • Сортирање по вредностима
  • Алгоритам за сортирање
  • Обрнути поређани редослед

Сортирање по кључевима и вредностима

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

Пример -

 names = {1:'Alice' ,2:'John' ,4:'Peter' ,3:'Andrew' ,6:'Ruffalo' ,5:'Chris' } #print a sorted list of the keys print(sorted(names.keys())) #print the sorted list with items. print(sorted(names.items())) 

Излаз:

 [1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')] 

Објашњење -

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

Алгоритам за сортирање

Постоје различити алгоритми сортирања за сортирање речника; можемо користити друге аргументе у сортираној методи. Хајде да разумемо следећи пример.

Пример -

 daynames = { 'one' : 'Monday' , 'six' : 'Saturday' ,'three' : 'Wednesday' , 'two' : 'Tuesday' , 'five': 'Friday' , 'seven': 'Sunday' } print(daynames) number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7} print(sorted(daynames , key=number.__getitem__)) print([daynames[i] for i in sorted(daynames , key=number.__getitem__)]) 

Излаз:

 {'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday'] 

Обрните сортирани редослед

Речник се може преокренути коришћењем обрнуто расправа. Хајде да разумемо следећи пример.

Пример -

 a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True)) 

Излаз:

 [6, 5, 4, 3, 2, 1] 

У овом водичу смо разговарали о томе како сортирати речник у Питхон-у. Сортирани речник је лак за руковање великом количином података и даје нам брз резултат претраге.