Увод у поређење у Питхон-у

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

Погледајмо како сортирати различите врсте података, сортирати податке по прилагођеном редослиједу.

  • Морамо извршити сортирање на колекцији елемената или група елемената, тако да ћемо добити колекцију елемената у неком редоследу сортирања. За поређење, поређење треба обавити између сваког елемента колекције, а поређење је могуће само и само ако су исте врсте података, тако да сортирање можемо извести на прикупљању ако су исти елементи типа података, на пример, цели број до цели број може да упореди, али не и цели низ.
  • Следећа тачка је стварање збирке елемената, у питхону имамо спискове, подешавање, подешавање и структуру података из речника који су користили за чување колекције елемената. Дакле, за обављање сортирања треба имати основно разумевање теза. Користићемо Питхон 3, синтакса ће можда бити мало другачија ако користите и Питхон 2 и пример излаза.

Функција сортирања у питхон-у

У питхон-у постоје две уграђене функције сортирања.

  • врста()
  • сортирано ()

Две функције сортирања су наведене у наставку:

1. сорт ()

Метода сорт () сортира елементе одређене листе колекција у одређеном редослиједу било Узлазно или Силазно.

Синтакса функције сорт () је:

list.sort(key = …, reverse = …)

  • тастер - Параметри тастери одређују функцију која се користи за поређење сортирања.
  • Обрнуто - Поврат параметра ако је истинит, сортирана листа се преокреће што значи сортирано у силазном редоследу.

Да бисте добили опис функције сортирања, користите наредбу за помоћ како је доле наведено.

>>> lis=(1, 4, 3, 2) >>> help( lis.sort )

Почнимо функцију сортирања на примеру.

Пример бр. 1:

l = ( 20, 50, 10, 40, 60 ) print("list = ", l)
l.sort()
print("sorted list = ", l)

Излаз:

Као и у горњем коду, несортирана листа се ствара (20, 50, 10, 40, 60) и даље примењује функцију сорт (), која листу сортира по узлазном редоследу и не враћа ништа.

Затим покушавамо сортирати () функцију на децималном или пловном типу података.

Пример бр. 2:

l = ( 26.7, 34.23, 67.45, 89.34, 23.18 ) print("list = ", l)
l.sort()
print("sorted list = ", l)

Излаз:

Затим покушавамо сортирати () функцију на типу података о цхар-у.

Пример # 3:

l = ( 'b', 'd', 'a', 'n', 'g') print("liist = ", l)
l.sort()
print("sorted liist = ", l)

Излаз:

Затим покушавамо сортирати () функцију на врсти података Стринг.

Пример бр. 4:

l = ( "banana", "apple", "orange", "mango" ) print("liist = ", l)
l.sort()
print("sorted liist = ", l)

Излаз:

Затим покушавамо сортирати () функцију на различитим елементима типова података.

Пример бр. 5:

l = ( 89, 56.78, "apple" ) print("liist = ", l)
l.sort()
print("sorted liist = ", l)

Излаз:

Затим покушамо сорт () функцију са реверс аргументима.

Пример бр. 6:

l = ( 26.7, 34.23, 67.45, 89.34, 23.18 ) print("liist = ", l)
l.sort( reverse = True )
print("sorted liist = ", l)

Излаз:

У горњем коду се ствара неорторисана листа (26.7, 34.23, 67.45, 89.34, 23.18) и даље примењује сортирање () функцију са обрнутим = Истина, задана вредност преокрета је лажна, која листу сортира у обрнутом редоследу или силазним редоследом.

Затим ћемо покушати сортирати () функцију са кључним аргументима:

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

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

Пример бр. 7:

word = "Hello"
length = len(word)
print( "The length of word is ", length)
l = ( "aaa", "bbbbb", "cc", "ddd" ) print("liist = ", l)
print( "The length of list is ", len(l))
# length of the list is 4, because it contains 4 elements
# Now we sort the list based on the length of the list elements
l.sort( key = len )
print("Sorted liist = ", l)
# Now we sort the list based on the length of the list elements and reverse
l.sort(key = len, reverse = True)
print("Sorted liist with reverse = ", l)

Излаз:

Резултирајући редослед листе.сорт (кеи = лен) је листа низова сортирања по редоследу од најкраћег до најдужег. Док је лист.сорт (кеи = лен, реверсе = Труе) што резултира тиме да је редослед листе најдужи до најкраће дужине. Дужина сваког елемента на листи одређена је функцијом лен ().

Затим покушавамо сортирати () функцију с кључем који пролази корисник да дефинира функцију:

Пример бр. 8:

l = ( 'banana', 'orange', 'apple' ) print("liist = ", l)
# function return second element
def sort_onSecondChar(word):
return word(1) l.sort( key = sort_onSecondChar )
print("Sorted liist based on second character = ", l)
# Now we sort the list based on the length of the list elements and reverse
l.sort( key = sort_onSecondChar, reverse = True)
print("Sorted liist based on second character with reverse = ", l)

Излаз:

Резултирајући редослед лист.сорт (кеи = сорт_онСецондЦхар)) је листа низова сортирања према редоследу узлазног поретка на основу другог знака. Док је лист.сорт (кеи = сорт_онСецондЦхар, реверзни = Труе) резултирајући редослед листе пада се према другом знаку. Поредавање сваког елемента на листи корисник одређује функцију сорт_онСецондЦхар ().

2. сортирано ()

Позвани () функција позива на листу или колекцију, враћа нову сортирану листу. Функција сортирања () не уређује или не мења листу на којој се зове, већ враћа сортирану листу као резултат ње.

Синтакса сортиране () функције:

sorted(iterable, key, reverse)

  • итерабле - листа, тупле, стринг, сет, замрзнути скуп, рјечник било које колекције или итерабле који је потребно сортирати.
  • уназад уназад одредите да ли ће сортирана листа бити преокренута или не (то је силазни поредак). То је
  • тастер - наведите функцију као кључ за упоређивање за сортирање. Није опционалан .

Да бисте добили опис функције сортирања, користите наредбу за помоћ како је доле наведено.

Размотрите примере:

Пример бр. 9:

l = ( 2, 1, 3, 6, 5, 4 ) print("list = ", l)
sorted(l)
print( "The sorted list = ", l)

Излаз:

Имајте на уму да такође можемо користити листу лист.сорт () да бисмо извршили исту, али разлике су у томе што функција сорт () мења саму листу на месту и враћа Ноне као излазни резултат. Још једна разлика функције лист.сорт () је што се она може применити на једини списак, док се сортирано () може применити на било коју колекцију или итерабле.

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

Пример бр. 10:

t = ( 60, 20, 40, 10 )
print("Tuple = ", t)
re=sorted(t)
#print return of sorted()
print( "The return sorted list of sorted() = ", re)
#we check what is there in t
print( "After sorted tuple = ", t)

Излаз:

Ако функција сорт () примијењена на тупле, она даје грешку „АттрибутеЕррор:„ тупле “објект нема атрибут„ сортирај ““.

Дакле, функција сорт () се не може применити на тупле, чак ни на друге колекције осим листе.

Затим ћемо видјети неколико примјера различитих типова података:

Пример бр. 11:

l = ( 2.89, 56.34, 45.23 ) print("List of floating numbers = ", l)
re=sorted(l)
#print return of sorted()
print( "The return list of sorted() floating numbers = ", re)
lc = ( 'l', 'e', 'g', 'a', 'd' ) print("List of characters = ", lc)
re=sorted(lc)
#print return of sorted()
print( "The return list of sorted() characters = ", re)

Излаз:

Затим ћемо пробати сортирану () функцију са обрнутим параметром:

Размотримо пример:

Пример бр. 12:

l = ( 2, 1, 3, 6, 5, 4 ) print("List = ", l)
re=sorted(l, reverse=True )
#print return of sorted()
print( "The return list of sorted() with reverse = ", re)

Излаз:

Затим ћемо видјети сортирану () функцију с кључним параметром, у наставку код прескочио преношење функције лен () на кључни параметар, тако да ће функција сортед () вратити листу у редослиједу сортирања на основу дуљине елемената.

Пример бр. 13:

l = ('aaaa', 'bb', 'ccc', 'ddddd') print("List = ", l)
re=sorted(l, key = len )
#print return of sorted()
print( "The return list of sorted() with key = ", re)

Излаз:

Затим ћемо видјети сортирану () функцију с кључним параметром док корисник дефинира функцију, у наставку код пресјечен пролазећи ретурнСецонд () функцију у кључни параметар. Функција ретурнСецонд () је корисничка дефиниција функције, која само враћа други елемент, тако да сортед () функција враћа нову сортирану листу у редослиједу сортирања на основу другог елемента сага. Ако желимо сортирати на основу првог елемента, онда уредимо функцију ретурнСецонд () да би први елемент вратили као (Л (0)).

Пример бр. 14:

# return second element for sort
def returnSecond( L ):
return L(1) # list of tuple
list = ( ('a', 40), ('b', 30), ('c', 20), ('d', 10) ) # sorting list with key = returnSecond (returnSecond function which return second element so sort done based on seceond elemet)
sortedList = sorted(list, key = returnSecond)
# print list
print('The sorted list:', sortedList)

Излаз:

Горњи код мењамо користећи ламбда функцију (ламбда функција је анонимна функција, симулира исто као инлине функције Ц и Ц ++).

Пример бр. 15:

# list of tuple
list = ( ('a', 40), ('b', 30), ('c', 20), ('d', 10) ) # sorting list with key = lambda x : x(1) (lambda function which return second element so sort done based on second element)
sortedList = sorted( list, key = lambda x : x(1))
print( "The sorted list = ", sortedList)

Излаз:

Горњи код мења се на основу првог елемента тако што се мења функција ламбда.

Пример бр. 16:

# list of tuple
list = ( ('a', 40), ('b', 30), ('c', 20), ('d', 10) ) # sorting list with key = lambda x : x(0) (lambda function which return first element so sort done based on first element)
sortedList = sorted( list, key = lambda x : x(0))
# print list
print('The sorted list:', sortedList)

Излаз:

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

Пример бр. 17:

students = ( ('john', 1, 60), ('jane', 2, 70), ('dave', '3', 70.5), ('joseph', 1, 92) ) print( "The Student List = ", students)
# sorting the student list of tuple based on the third element that is marks
sortedlist = sorted(students, key=lambda stud : stud(2))
print("The sorted list = ", sortedlist)
#reverese
sortedlist = sorted(students, key=lambda stud : stud(2), reverse=True)
print("The sorted list with reverse=True ", sortedlist)
# Display the student name and marks in sorting order of their marks
sortedlist = sorted(students, key=lambda stud : stud(2))
print("The student names and marks in order of their marks")
print("name", "marks")
for x in sortedlist:
print(x(0), x(2))

Излаз:

Закључак

Функција сорт () и сортед () користе за сортирање колекције. Лист.сорт () уређује саму листу, док поредани (листа) који није уређен на листу враћа нову сортирану листу. Функција сорт () односи се само на листу док се сортед () функција може применити на сву колекцију попут листе, тупле, дицтионари и свих.

Препоручени чланци

Ово је водич за сортирање у Питхон-у. Овде смо разговарали о две уграђене функције сортирања у питхон-у са програмом и излазом. Такође можете погледати следећи чланак да бисте сазнали више -

  1. Питхон Вариаблес
  2. Деструктор у Питхон-у
  3. Повезивање базе података Питхон
  4. Питхон Едиторс
  5. Врсте података ПЛ / СКЛ
  6. Различите врсте СКЛ података са примерима

Категорија: