1. 程式人生 > >字典陣列根據某key排序

字典陣列根據某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")

執行結果:

這裡寫圖片描述

完美!

相關推薦

字典陣列根據key排序

字典是程式設計中常用的資料結構,由多個字典組成的陣列也比較常見。有時候我們需要將字典組成的陣列根據其中一個值進行排序。下面是一個用python寫的 利用氣泡排序演算法寫的方法 # -*- codi

陣列根據排序(array_multisort)

$coupon=array(2) { [0]=> array(9) { [“id”]=> string(1) “2” [“money”]=> string(5) “10.00” [“condition”]=> string(6) “200.00” [“use_star

php陣列根據排序(array_multisort)

$a = [ [ 'name' => '張三', 'score' => 60 ], [ 'name' => '李四', 'score' => 90 ],

JavaScript物件陣列根據屬性sort升降序排序

1、自定義一個比較器,其引數為待排序的屬性。 2、將帶引數的比較器傳入sort()。 var data = [    {name: "Bruce", age: 23, id: 16, score: 80},    {name: "Alice", age: 24, id: 12, score: 90},   

php陣列根據一個鍵值,把相同鍵值的合併生成一個新的二維陣列

php陣列根據某一個鍵值,把相同鍵值的合併生成一個新的二維陣列 <?php $infos = array( array( 'a' => 36, 'b' => 'xa', 'c' => '2015-08-28 00:00:00', 'd' => '2

關聯陣列根據值進行排序

一維關聯型資料進行排序 private function sort_with_keyName($arr,$orderby='desc'){ $new_array = array();

在list集合中根據key的值查詢物件

//在list集合中根據某key的值查詢物件 function searchObjectByKey(list,key,keyValue){ for(var i=0;i<list.length;i++){ if(list[i][key]==keyValue){

php 二維陣列根據欄位去重

有時候,查詢出來的陣列會有好多重複的資料,要想去除這些資料,有以下幾種方法: 第一種:二維陣列中直接去掉重複的鍵 <?php function array_unique_fb($array2D){ foreach ($array2D as $v){ $v=joi

數字索引陣列根據指定key轉關聯陣列

array.c PHP_FUNCTION(array_to_associative) {     zval *array;     char *key_name;     uint key_len;     HashPosition pos;     zval **opera

PHP二維陣列根據指定鍵排序

//對二維陣列進行排序的函式 /** 引數說明 $arrays: 排序的陣列。 $sort_key: 排序的鍵。 $sort_order: SORT_ASC - 預設,按升序排列。(A-Z) SORT_DESC - 按降序排列。(Z-A) $s

列表嵌套字典根據字典key排序

size tex mage 技術 嵌套 [88 ima 一定的 排序 在返回列表嵌套字典時候,往往需要對數據進行一定的處理:按照字典中某一個key排序 In [87]: a = [{"name": "牛郎", "age": 23},{"name":"許仙", "age":

vue 根據陣列一項的值進行排序

一、前言 我在vue專案中遇到了一個表格排序的需求,根據某一項的值的大小從大到小調整陣列順序。 二、程式碼 表格大概是這個樣子,樣式和圖片在程式碼中簡化了。 &lt;table class="recommend_table" cellspacing="0"&gt; &am

iOS陣列根據key或者類的屬性高階排序

方法一: NSArray *ary = @[@"a3",@"a1",@"a2",@"a10",@"a24"];NSLog(@"%@",ary); NSArray *myary = [ary sortedArrayUsingComparator:^(NSString * 

PHP對根據欄位對二維陣列進行排序函式

/** * 二維陣列根據欄位進行排序 * @params array $array 需要排序的陣列 * @params string $field 排序的欄位 * @params string $sort 排序順序標誌 SORT_DESC 降序;SORT

list 根據字段排序

collect public compareto @override tlist 根據 override new urn Collections.sort(actList, new Comparator<Act>() { @Override public

Python根據字典的value進行大小排序

val new 進行 添加 blog 匹配 數據 {} num num_dict = {‘a‘: 16, ‘b‘: 10, ‘c‘: 8, ‘d‘: 0} #方法1 # new_dict = sorted(num_dict.items(),key=lambda x:x[1

python 按二維陣列行或列排序 (numpy lexsort)

lexsort支援對陣列按指定行或列的順序排序;是間接排序,lexsort不修改原陣列,返回索引。 (對應lexsort 一維陣列的是argsort a.argsort()這麼使用就可以;argsort也不修改原陣列, 返回索引)   預設按最後一行元素有小到大排序, 返回最後

[Python筆記]字典key排序和按value排序的方法

#按Key排序(字母順序) #新建一個字典{手機品牌,價格} phone={'Meizu':2698,'Apple':7299,'Xiaomi':2400,'Samsung':6000} [(key,phone[key]) for key in sorted(phone)] #方法1

python關於字典巢狀字典,列表巢狀字典根據值進行排序

python 對於字典巢狀字典, 列表巢狀字典排序 例:列表巢狀自字典:d = [{"name": '張三', 's': 68}, {'name': '李四', 's': 97}] 對於列表巢狀字典可以使用python的sorted()方法,也可以使用list的sort()方法: sorted方法可接受

二維陣列根據指定的鍵值排序

function array_sort($array,$keys,$type='asc'){ if(!isset($array) || !is_array($array) || empty($array)){ return ''; } if(!isse