字典陣列根據某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專案中遇到了一個表格排序的需求,根據某一項的值的大小從大到小調整陣列順序。 二、程式碼 表格大概是這個樣子,樣式和圖片在程式碼中簡化了。 <table class="recommend_table" cellspacing="0"> &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