字典數組根據某key排序

字典是編程中常用的數據結構,由多個字典組成的數組也比較常見。有時候我們需要將字典組成的數組根據其中一個值進行排序。下面是一個用python寫的 利用冒泡排序算法寫的方法

# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')

# 根據字典中某個key ,對字典的數組進行排序

# 正序排序
def ascSort(array,key):
    for i in range(len(array)-1):
        for j in range(len(array)-1-i):
            if float(array[j][key]) > float(array[j+1][key]):
                array[j],array[j+1] = array[j+1],array[j]
    return array

# 倒敘排序
def descSort(array,key):
    for i in range(len(array)-1):
        for j in range(len(array)-1-i):
            if float(array[j][key]) < float(array[j+1][key]):
                array[j],array[j+1] = array[j+1],array[j]
    return array

測試一下:

if __name__ == "__main__":
    testArray = [
        {
            "t":"6",
            "a":"aa"
        },
        {
            "t":"3",
            "a":"bb"
        },
        {
            "t":"9",
            "a":"cc"
        },
        {
            "t":"1",
            "a":"dd"
        },
        {
            "t":"2",
            "a":"ee"
        },
        {
            "t":"2",
            "a":"ee"
        },
        {
            "t":"9",
            "a":"ee"
        },
        {
            "t":"2",
            "a":"ee"
        },
    ]
    print ascSort(testArray,"t")
    print descSort(testArray,"t")

執行結果:

這裏寫圖片描述

完美!


















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章