1. 程式人生 > 實用技巧 >python實現對列表元素是字典的排序

python實現對列表元素是字典的排序

python內建排序函式

python排序內建的排序函式有sort()和sorted

  • list.sort():該函式的三個引數和分別是cmp(比較函式)、key(比較的關鍵字)、reverse(排序結果是否反轉),該函式只適用於列表,而不是任意可迭代物件

  • sorted():該函式第一個物件是一個可迭代物件,後面三個引數分別是cmp(比較函式)、key(比較的關鍵字)、reverse(排序結果是否反轉)

  • sort排序案例

l = [2, 4, 6, 4, 7]
l.sort()
print(l)  
結果:[2,4,4,6,7]
p = [
        {
            "name": "zhangsan",
            "age": 12,
        },
        {
            "name": "lisi",
            "age": 15,
        },
        {
            "name": "wanger",
            "age": 13,
        },
        {
            "name": "mazi",
            "age": 16,
        },
        {
            "name": "lili",
            "age": 14,
        }
    ]
# 根據age進行排序,適用key引數,指定以字典的key age進行排序
p.sort(key=key=lambda x: x['age'])
print(p)
# 結果
[{'name': 'zhangsan', 'age': 12}, {'name': 'wanger', 'age': 13}, {'name': 'lili', 'age': 14}, {'name': 'lisi', 'age': 15}, {'name': 'mazi', 'age': 16}]

  • sorted()和list.sort()方法類似,但sorted()可以應用於任意的可迭代物件,所以應用範圍不list.sort()廣泛,可以應用於字串、元組、列表、字典等可迭代物件