q:
有乙個字典列表,想根據某個或某幾個字典字段排序這個列表
a:可以使用operator模組的itemgetter函式來實現
rows = [ ,
, ,
]
**示例
from operator import itemgetter
rows_by_fname = sorted(rows, key=itemgetter('fname'))
rows_by_uid = sorted(rows, key=itemgetter('uid'))
print(rows_by_fname) print(rows_by_uid)
[, ,
, ]
[, ,
, ]
itemgetter()函式也支援多個keys
rows_by_lfname = sorted(rows, key=itemgetter('lname','fname'))
print(rows_by_lfname)
[, ,
, ]
itemgetter()有時也可以使用lambda表示式來替代:
rows_by_fname = sorted(rows, key=lambda r: r['fname'])
rows_by_lfname = sorted(rows, key=lambda r: (r['lname'],r['fname']))
但,使用itemgetter()方式會快一些,如果對效能要求比較高,可以優先使用itemgetter()方式
itemgetter() 同樣使用於min()和max()等函式
min(rows, key=itemgetter('uid'))
max(rows, key=itemgetter('uid'))
jQuery php通過關鍵字搜尋並以列表形式顯示
html jquery php 該方法是通過 關鍵字對陣列 快取檔案進行 模糊查詢,並非是直接通過關鍵字查詢資料庫獲取資料 通過關鍵字獲取資料 試題 public function getsearchkeywords 獲取快取中的七牛雲資料,並通過關鍵字對陣列模糊查詢 param string ke...
Python關鍵字排序
一 當排序關鍵字多於1個時,我們使用lambda表示式來描述關鍵字key arr 1,4,3 1,3,3 2,1,4 3,5,1 arr.sort key lambda s s 0 s 1 兩個關鍵字排序 print arr 可以看到輸出結果是根據列表中元組的第一項和第二項排序 1,3,3 1,4,...
通過關鍵字定位頁面內容,類似於ctrl f查詢功能
這個功能,做的時候,想了很多種辦法。一種是,頁面查詢的時候,傳入要查詢的值,呼叫jquery的方法,找到後,替換查到的值,加樣式。這種方法的弊端就是如果你在屬性裡面有要搜尋的資訊,就會替換屬性裡面的內容,導致內容不準確。如xx這個時候,你只想替換標籤裡面的內容,不想替換sx的值,但是會替換。另一種,...