使用PythonList中的itemgetter函數排序

Python list 使用itemgetter函數排序,是一個非常有用的技巧,可以讓你輕鬆的排序list裡面的元素。itemgetter函數可以讓你指定list裡面的元素,然後把它們排序,而不需要你自己寫排序演算法。

在Python中,你可以使用itemgetter函數來排序list裡面的元素,該函數會回傳一個可以用來排序list的函數。下面是一個簡單的範例:

from operator import itemgetter

# 建立一個list
my_list = [
    {'name': 'John', 'age': 25},
    {'name': 'Jane', 'age': 22},
    {'name': 'Bob', 'age': 27},
]

# 使用itemgetter函數排序list
sorted_list = sorted(my_list, key=itemgetter('age'))

# 輸出排序後的list
print(sorted_list)

上面的程式碼會建立一個list,然後使用itemgetter函數把它排序,最後輸出排序後的list。輸出的結果會是:

[{'name': 'Jane', 'age': 22}, {'name': 'John', 'age': 25}, {'name': 'Bob', 'age': 27}]

可以看到,list裡面的元素已經按照age欄位排序了。itemgetter函數可以讓你指定list裡面的欄位,然後把它們排序,而不需要你自己寫排序演算法。

itemgetter函數也可以用來排序多個欄位,例如:

# 使用itemgetter函數排序list
sorted_list = sorted(my_list, key=itemgetter('age', 'name'))

# 輸出排序後的list
print(sorted_list)

上面的程式碼會把list裡面的元素按照age和name欄位排序,輸出的結果會是:

[{'name': 'Jane', 'age': 22}, {'name': 'John', 'age': 25}, {'name': 'Bob', 'age': 27}]

可以看到,list裡面的元素已經按照age和name欄位排序了。

總結來說,Python list 使用itemgetter函數排序是一個非常有用的技巧,可以讓你輕鬆的排序list裡面的元素,而不需要你自己寫排序演算法。

發佈留言