python 字典排序 python 字典排序

python 字典排序

 http://www.cnblogs.com/kaituorensheng/archive/2012/08/07/2627386.html

引子html

字典,形如 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素沒有順序,因此dic[0]是有語法錯誤的。而且不能夠有重複的鍵值,因此 dic.add['c'] = 4後,字典變成 {'a':1 , 'b':2 , 'c': 4}.python

待解決問題函數

如何根據須要能夠根據「鍵」或「鍵值」進行不一樣順序的排序?post

函數原型url

sorted(dic,value,reverse)htm

  • dic爲比較函數,value 爲排序的對象(這裏指鍵或鍵值),
  • reverse:註明升序仍是降序,True--降序,False--升序(默認)

案例對象

dic = {'a':3 , 'b':2 , 'c': 1}blog

    

注意排序

排序以後原字典沒有變,順序依舊get

     

兩個函數

1.lambda

功能: 建立匿名函數

區別: 和def函數定義,如下兩點區別

  • lambda會建立一個函數對象,但不會把這個函數對象賦給一個標識符;而def則會把函數對象賦值給一個變量
  • lambda它只是一個表達式,而def則是一個語句

案例:

    

2.iteritems()

功能: iteritems()以迭代器對象返回字典鍵值對

區別: 和item相比:items以列表形式返回字典鍵值對

案例:

    

註釋: 在函數sorted(dic.iteritems(), key = lambda asd:asd[1])中,第一個參數傳給第二個參數「鍵-鍵值」,第二個參數取出其中的鍵([0])或鍵值(1])

相關文章
相關標籤/搜索