利用內建lambda函式給dict排序

2022-02-11 17:24:14 字數 1843 閱讀 2841

# sort.py   

# -*-

coding: gbk

-*# 這個類用來演示如何對自定義物件進行排序

class

sortobj: a =

0b =''

def __init__(self, a, b):

self.a

=a

self.b

=b

def printab(self):

print self.a, self.b

# 演示對字串列表進行排序

samplelist_str =[

'blue',

'allen',

'sophia',

'keen

']

print samplelist_str

samplelist_str.sort()

print samplelist_str

print '\n

'# 演示對整型數進行排序

samplelist_int =[

34,23,

2,2333,45

]

print samplelist_int

samplelist_int.sort()

print samplelist_int

print '\n

'# 演示對字典資料進行排序

sampledict_str

=

print sampledict_str

# 按照key進行排序

print sorted(sampledict_str.items(), key

=lambda d: d[

0])

# 按照value進行排序

print sorted(sampledict_str.items(), key

=lambda d: d[

1])

# 構建用於排序的類例項

obja

=sortobj(

343,

'keen

')

objb

=sortobj(

56,

'blue

')

objc

=sortobj(2,

'aba

')

objd

=sortobj(

89,

'iiii

')

print '\n

'samplelist_obj

=[obja, objb, objc, objd]

# 例項物件排序前

forobj

insamplelist_obj:

obj.printab()

print '\n

'# 按照物件的a屬性進行排序

samplelist_obj.sort(lambda x,y: cmp(x.a, y.a))

forobj

insamplelist_obj:

obj.printab()

print '\n

'# 按照物件的b屬性進行排序

samplelist_obj.sort(lambda x,y: cmp(x.b, y.b))

forobj

insamplelist_obj:

obj.printab()

程式**:

利用mysql內建函式加鎖

利用mysql自帶函式get lock str,timeout 設法使用字串str 給定的名字得到乙個鎖,超時為timeout 秒。若成功得到鎖,則返回 1,若操作超時則返回0 例如,由於另乙個客戶端已提前封鎖了這個名字 若發生錯誤則返回null 諸如缺乏記憶或執行緒mysqladmin kill ...

利用mysql內建函式實現split

substring index 返回值並不是分割後的值而是原始值 replace 返回的是替換後的值 sql中的1,2,3,4,5 就是我們要填的索引,索引從1開始 格式 a,b,c,d,e sql模板 select substring index substring index replace r...

C 利用lambda在函式中建立內部函式

有使用過js的朋友,相信都知道function。js中的function是可以在裡面在定義乙個作為內部使用的。有時為了控制作用域,或者這種小函式只在這個函式體內會使用,所以就不希望在外部在作額外的定義。那c 中有沒有這樣類似的方式呢?答案是有的。在c 中要實現,需要用到的是委託和lambda表示式。...