Bevezetés a rendezésbe a Pythonban

Egy alkalmazás vagy program bizonyos pontjain az adatokat bizonyos sorrendben kell rendeznünk, például a munkavállalókat fizetés vagy valamilyen rang alapján kell rendezni, a terméklistát a termék ára alapján kell rendezni, és így tovább. Ebben az esetben a fejlesztõnek végre kell hajtania a rendezést egy programban, ha a fejlesztõ a python programozási nyelvet használja, akkor nagyon könnyen végrehajtható. A Python beépített funkciókat biztosít az alapvető rendezéshez vagy a rendezési szolgáltatások testreszabásához szemcsés szinten. A pythonban 2 beépített függvény található a rendezéshez.

Lássuk, hogyan lehet rendezni a különféle típusú adatokat, rendezni az adatokat testreszabási sorrendben.

  • Válogatást kell végeznünk az elemek vagy elemcsoportok gyűjteményében, így az elemek gyűjteményét valamilyen rendezési sorrendben kapjuk. A válogatáshoz az összehasonlítást a gyűjtemény egyes elemei között kell elvégezni, és az összehasonlítás csak akkor lehetséges és csak akkor, ha azonos adattípusúak, tehát a válogatást akkor hajthatjuk végre, ha ugyanazok az adattípus elemek, például egészek egészek összehasonlíthatja, de nem egész lehet a karakterlánccal.
  • A következő pont az elemek gyűjteményének létrehozása, python-ban olyan listákkal, összeállításokkal, halmazokkal és szótárakkal rendelkezik, amelyek az elemgyűjtemény tárolására szolgáltak. A rendezés elvégzéséhez tehát alapvetõ ismeretekkel kell rendelkeznie a tézisektõl. A Python 3-at fogjuk használni, a szintaxis kissé eltérhet, ha Python 2-et és a példakimenetet is használjuk.

Rendezési funkció pythonban

A pythonban két beépített válogató funkció van.

  • fajta()
  • kiválogatott ()

Az alábbiakban két rendezési funkciót említünk:

1. rendezés ()

A sort () módszer az adott gyűjtési lista elemeit egy sorrendben rendezi, növekvő vagy csökkenő módon.

A sort () függvény szintaxisa:

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

  • gomb - A paraméterek a kulcsok megadására szolgáló funkció, amelyet a rendezés összehasonlításához használnak.
  • Fordított - Ha a paraméter fordított, ha igaz, akkor a rendezett lista megfordul, vagyis csökkenő sorrendben van rendezve.

A rendezési funkció leírásához az alább megadott súgóparancsot használja.

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

Indítsuk el a rendezési funkciót a példával.

1. példa:

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

Kimenet:

A fenti kódhoz hasonlóan létrejön a válogatás nélküli lista (20, 50, 10, 40, 60), majd alkalmazzuk a sort () függvényt, amely növekvő sorrendbe rendezi a listát, és semmit sem ad vissza.

Ezután megkíséreljük a sort () függvényt decimális vagy úszó adattípusonként.

2. példa:

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

Kimenet:

Ezután megkíséreljük rendezni () függvényt a char adat típusán.

3. példa:

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

Kimenet:

Ezután megkíséreljük a sort () függvényt a String adattípuson.

4. példa:

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

Kimenet:

Ezután megpróbáljuk rendezni () függvényt különféle adattípusokon.

5. példa:

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

Kimenet:

Ezután megpróbáljuk a sort () függvényt fordított argumentumokkal megkísérelni.

6. példa:

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

Kimenet:

A fenti kódban létrejön a válogatás nélküli lista (26.7, 34.23, 67.45, 89.34, 23.18), és tovább alkalmazzuk a sort () függvényt fordított = True értékkel, a fordított alapértelmezett értéke hamis, amelyek a listát fordított sorrendben vagy csökkenő sorrend.

Ezután megpróbáljuk rendezni a () függvényt kulcsfontosságú érvekkel:

A kulcsparaméter a rendezés () függvény legfontosabb összetevője. Ehhez az argumentumhoz egy függvényt adunk át, amelyet a rendezendő lista minden eleménél felhasználunk a kapott sorrendbe rendezéshez.

Indítsuk el a példát, tegyük fel, hogy van egy karakterláncok listája, és azt szeretnénk rendezni egy listát a listában szereplő karakterláncok hossza alapján növekvő sorrendben (a legrövidebbtől a leghosszabbig). A python beépített len ​​() függvénye visszaadja a karakterlánc hosszát, így a len () használható a kulcs argumentum átadására.

7. példa:

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)

Kimenet:

Az eredményül a list.sort (kulcs = len) sorrendje a rendezési karakterláncok sorrendje a legrövidebbtől a leghosszabbig. Mivel a list.sort (kulcs = len, fordított = igaz) eredményeként a lista sorrendje a leghosszabb és a legrövidebb. A lista egyes elemeinek hosszát a len () függvény határozza meg.

Ezután megpróbáljuk rendezni () függvényt azzal, hogy a felhasználó által megadott kulcs megadja a függvényt:

8. példa:

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)

Kimenet:

A list.sort ebből következő sorrendje (kulcs = sort_onSecondChar)) a rendezési karakterláncok listája növekvő sorrendben a második karakter alapján. Mivel a list.sort (kulcs = sort_onSecondChar, fordított = igaz) eredményül kapott lista sorrendje a második karakter alapján csökkenő. A listában szereplő egyes elemek rendezését a felhasználó határozza meg a sort_onSecondChar () függvény meghatározása céljából.

2. rendezve ()

A rendezett () függvényhívás a listán vagy a gyűjteményen, az új rendezett listát adja vissza. A rendezett () függvény nem szerkeszti vagy módosítja azt a listát, amelyre hívja, de ennek eredményeként visszaadja a rendezett listát.

A rendezett () függvény szintaxisa:

sorted(iterable, key, reverse)

  • itereerálható - lista, összeállítás, karakterlánc, halmaz, fagyasztott halmaz, szótár minden olyan gyűjteményhez, vagy megismételhető, amelyet rendezni kell.
  • fordított-fordított adja meg, hogy a rendezett listát vissza kell-e fordítani, vagy sem (azaz csökkenő sorrendben). Ez
  • gomb - adja meg a függvényt kulcsként a rendezéshez. Ez opcionális .

A rendezési funkció leírásához az alább megadott súgóparancsot használja.

Vegyük figyelembe a példákat:

9. példa:

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

Kimenet:

Vegye figyelembe, hogy ugyanezt a list.sort () függvényt is használhatjuk, de a különbségek vannak, a rendezés () függvény módosítja a listát a helyén, és kimeneti eredményként a Nincs értéket adja vissza. A list.sort () függvény másik különbsége az, hogy az egyetlen listára vonatkozik, míg a rendezett () bármilyen gyűjteményre vonatkoztatható vagy megismételhető.

Nézzük meg azt a példát, amellyel létrehozzuk a tuple-t (tudjuk, hogy a tuple használatához (és) a nadrágtartókat és a tuple szolgáltatásokat megrendeljük, hogy másolatokat tárol, nem lehet indexre alkalmazni, és változatlan), és a rendezett () függvényt alkalmazzuk .

10. példa:

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)

Kimenet:

Ha a sort () függvényt alkalmazták a párbeszédpanelre, akkor az „AttributeError” eredményt ad: „a tuple” objektumnak nincs „sort” attribútum hibája.

Tehát a sort () függvény nem vonatkozik a sorozatra, sőt a többi gyűjteményre sem, kivéve a listát.

Ezután néhány példát mutatunk be, különféle adattípusokkal:

11. példa:

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)

Kimenet:

Ezután megpróbáljuk rendezni () függvényt fordított paraméterrel:

Nézzük meg például a példát:

12. példa:

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)

Kimenet:

Ezután látni fogjuk a rendezett () függvényt a kulcsparaméterrel, az alábbiakban a kódra kattintva átadva a len () függvényt a kulcsparaméterhez, tehát a rendezett () függvény rendezési sorrendben ad vissza egy listát az elemek hossza alapján.

13. példa:

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)

Kimenet:

Ezután egy rendezett () függvényt fogunk látni a kulcsparaméterrel, ahogy a felhasználó meghatározza a függvényt, az alábbiakban a kód átvágásával, amely a returnSecond () függvényt adja át a kulcsparaméterhez. A returnSecond () függvény a felhasználó által definiált függvény, amely éppen visszaadja a második elemet, így a rendezett () függvény új rendezett listát ad vissza rendezési sorrendben a felsorolás második elemének alapján. Ha az első elem alapján akarunk rendezni, akkor szerkesszük a returnSecond () függvényt, hogy az első elem (L (0)) legyen.

14. példa:

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

Kimenet:

A fenti kódot a lambda függvény megváltoztatásával változtatjuk (a lambda függvény névtelen, ugyanúgy szimulálja, mint a C és C ++ inline függvényei).

15. példa:

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

Kimenet:

A fenti kód megváltoztatja az első elem szerinti rendezést a lambda függvény megváltoztatásával.

16. példa:

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

Kimenet:

Most készítsünk egy listát a hallgatói részletekről, és tároljuk az egyes hallgatók adatait a felhasznált tippekkel. Az egyik elem egy tanulói rekordot tartalmaz, az első elem a tanuló neve, a második elem a hallgató tekercsszáma, a harmadik elem pedig a hallgató összes pontja. Ezután szeretnénk a hallgató adatait a jelek sorrendjében tárolni, ezért kezdjük el a kódolást.

17. példa:

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

Kimenet:

Következtetés

A rendezés () és a rendezés () függvény a gyűjtemény rendezésére szolgál. A list.sort () szerkeszti magát a listát, míg a nem szerkesztett rendezett (list) listához visszatér az új rendezett lista. A rendezés () függvény csak a listára vonatkozik, míg a rendezett () függvény alkalmazható az összes gyűjteményre, például a listára, a sorozatra, a szótárra és az összesre.

Ajánlott cikkek

Ez egy útmutató a Python rendezéséhez. Itt a pythonban található két beépített válogatási funkciót tárgyaljuk a programmal és a kimenettel. A következő cikkben további információkat is megnézhet -

  1. Python változók
  2. Pusztító a Pythonban
  3. Python Database kapcsolat
  4. Python szerkesztők
  5. PL / SQL adattípusok
  6. Különböző típusú SQL adatok példákkal

Kategória: