字典是編程中常用的數據結構,由多個字典組成的數組也比較常見。有時候我們需要將字典組成的數組根據其中一個值進行排序。下面是一個用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")
執行結果:
完美!