מיון רשימה בפייתון מאפשר לסדר את הפריטים שלה בסדר עולה או יורד.

במקום לכתוב גושי קוד ארוכים לשם כך, לפייתון יש שיטה מובנית המאפשרת לך למיין את הפריטים בכל רשימה או מערך. נסביר כיצד לעשות זאת בפוסט זה.

כיצד למיין רשימה בפייתון

אתה יכול למיין את הפריטים ברשימה או במערך באמצעות ה- Python סוג() שיטה.

ה סוג() השיטה ב- Python מקבלת שני ארגומנטים אופציונליים והתחביר נראה כך:

list.sort (key = function, reverse = True / False)

כברירת מחדל, ה- סוג() השיטה מסדרת את פריטי הרשימה בסדר עולה:

myList = ["C", "D", "B", "A", "F"]
myList.sort ()
הדפס (myList)
פלט: ['A', 'B', 'C', 'D', 'F']

אתה יכול להשתמש ב- לַהֲפוֹך טיעון להצגת הרשימה בסדר יורד:

myList = ["C", "D", "B", "A", "F"]
myList.sort (הפוך = נכון)
הדפס (myList)
פלט: ['F', 'D', 'C', 'B', 'A']

ניתן גם לסדר את הפריטים ברשימה לפי אורך כל מחרוזת.

לשם כך, צור פונקציה והעביר אותה אל ה- סוג() שיטה באמצעות האופציונלי מַפְתֵחַ טַעֲנָה:

myList = ["MUO", "Python", "JavaScript", "Sort", "Sortlists"]
def sortLength (פריט):
להחזיר len (פריט)
myList.sort (הפוך = True, key = sortLength)
הדפס (myList)
פלט: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']
instagram viewer

כיצד למיין רשימת מילונים בפייתון

אתה יכול להשתמש ב- סוג() שיטה למיון רשימת מילונים גם כן.

בואו למיין את המשימות במילון שלהלן לפי הזמן שלהן:

myArray = [
{"משימה": "רחץ", "זמן": 12.00},
{"משימה": "כדורגל", "זמן": 24.00},
{"משימה": "מיין", "זמן": 17.00},
{"משימה": "קוד", "זמן": 15.00}
]
def sortByTime (פריט):
פריט החזרה ["זמן"]
myArray.sort (key = sortByTime)
הדפס (myArray)

מכיוון שערכי הזמן הם מספרים שלמים, גוש הקוד שלעיל מסדר מחדש את המערך על סמך זמן המשימה.

קָשׁוּר: כיצד עובדים מערכים ורשימות בפייתון

בנוסף למיון המערך שלמעלה לפי זמן, אתה יכול גם לסדר אותו לפי אלפביתי באמצעות המשימות, שהם מחרוזות.

כדי למיין לפי מחרוזת במערך הדוגמה, עליך לשנות רק זְמַן בסוגר המרובע ל מְשִׁימָה:

myArray = [
{"משימה": "רחץ", "זמן": 12.00},
{"משימה": "כדורגל", "זמן": 24.00},
{"משימה": "מיין", "זמן": 17.00},
{"משימה": "קוד", "זמן": 15.00}
]
def sortByTime (פריט):
פריט החזר ["משימה"]
myArray.sort (key = sortByTime)
הדפס (myArray)

ניתן גם למיין את המשימות בסדר הפוך על ידי הגדרה לַהֲפוֹך לאמיתי:

myArray.sort (key = sortByTime, reverse = True)

אתה יכול גם השתמש בפונקציה למבדה עם סוג() לקוד מנקה:

myArray.sort (key = lambda getTime: getTime ["Time"])
הדפס (myArray)

כיצד למיין רשימת פיתונים מקוננת

אתה יכול למיין רשימה מקוננת של צינורות לפי האינדקס של כל רכיב מקונן ברשימה זו.

לדוגמא, הקוד שלמטה משתמש בפריט השלישי בכל צמרת כדי למיין את הרשימה בסדר עולה:

אליסט = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (a):
להחזיר [2]
Alist.sort (key = sortByThirdIndex)
הדפס (Alist)
פלט: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

בפלט לעיל, הפריט השלישי בכל צמרת עולה מאפס לעשרים ברציפות.

שים לב שזה לא עובד עם סט פייתון מכיוון שאתה לא יכול להוסיף אותו לאינדקס. נוסף על כך, כל קן ברשימה חייב להיות שייך לאותו סוג נתונים.

קָשׁוּר: מה זה סט בפייתון ואיך ליצור אחד

עם זאת, כדי לסדר את הפלט בסדר יורד:

Alist.sort (key = getIndex, reverse = True)
הדפס (Alist)
פלט: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

בואו נראה איך זה נראה עם למבדה פונקציה גם כן:

אליסט = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = מיון (Alist, key = lambda a: a [2])
הדפס (newList)
פלט: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

כיצד למיין רשימה בשיטת מיון ()

לחלופין, אתה יכול להשתמש ב- מְמוּיָן() שיטה.

למרות שזה עובד באופן דומה ל סוג() שיטה, זה יוצר רשימה ממוינת חדשה מבלי לשנות את המקור. גם פריסת התחביר שלה שונה במקצת.

התחביר עבור ה- מְמוּיָן() שיטה בדרך כלל נראית כך:

ממוינים (רשימה, מקש = פונקציה, הפוך = נכון / לא נכון)

אז כדי למיין רשימה באמצעות מְמוּיָן() בשיטה, עליך ליצור משתנה חדש עבור הרשימה הממוינת:

אליסט = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (א):
להחזיר [2]
newList = מיון (Alist, key = getIndex)
הדפס (newList)
פלט: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

ה מְמוּיָן() השיטה מקבלת גם א למבדה לתפקד כמפתח שלה:

אליסט = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = מיון (Alist, key = lambda a: a [2])
הדפס (newList)
פלט: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

היכן ניתן להגיש מיון רשימות?

תפיסה מוצקה של שיטת המיון של פייתון נחוצה לצורך תכנות יעיל. זה מאפשר לך לשלוט באופן שבו רשימה או מערך עוברים, ותמיד תוכל ליישם אותו בפרויקטים אמיתיים. לדוגמה, מיון רשימת פייתון יכול להיות שימושי בעת סידור מחדש של נתונים מממשק API או ממסד נתונים, כך שזה הגיוני יותר למשתמש קצה.

אימייל
כיצד להוסיף רשימה בפייתון

עובדים עם רשימות בפייתון? הנה מה שאתה צריך לדעת על השימוש בפונקציה Python append בעבודה עם רשימות.

קרא הבא

נושאים קשורים
  • תִכנוּת
  • פִּיתוֹן
  • הדרכות קידוד
על הסופר
אידובו אומיסולה (66 מאמרים פורסמו)

Idowu נלהב מכל דבר חכם וטכנולוגיה ופרודוקטיביות. בזמנו הפנוי הוא משחק בקידוד ועובר ללוח השחמט כשמשעמם לו, אבל הוא גם אוהב להתנתק מהשגרה מדי פעם. התשוקה שלו להראות לאנשים את הדרך סביב הטכנולוגיה המודרנית מניע אותו לכתוב יותר.

עוד מאידובו אומיסולה

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

צעד אחד נוסף !!!

אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.

.