字典是编程中常用的数据结构,由多个字典组成的数组也比较常见。有时候我们需要将字典组成的数组根据其中一个值进行排序。下面是一个用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")
执行结果:
完美!
如果有帮到您,打个赏呗