欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python OrderedDict字典排序方法詳解

 更新時間:2020年05月21日 11:11:52   作者:瘋了的小蝸  
這篇文章主要介紹了Python OrderedDict字典使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

很多人認為python中的字典是無序的,因為它是按照hash來存儲的,但是python中有個模塊collections(英文,收集、集合),里面自帶了一個子類

OrderedDict,實現(xiàn)了對字典對象中元素的排序。請看下面的實例:

import collections
print "Regular dictionary"
d={}
d['a']='A'
d['b']='B'
d['c']='C'
for k,v in d.items():
  print k,v

print "\nOrder dictionary"
d1 = collections.OrderedDict()
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['1'] = '1'
d1['2'] = '2'
for k,v in d1.items():
  print k,v

輸出:
Regular dictionary
a A
c C
b B

Order dictionary
a A
b B
c C
1 1
2 2

可以看到,同樣是保存了ABC等幾個元素,但是使用OrderedDict會根據(jù)放入元素的先后順序進行排序。所以輸出的值是排好序的。

OrderedDict對象的字典對象,如果其順序不同那么Python也會把他們當做是兩個不同的對象,請看事例:

print 'Regular dictionary:'
d2={}
d2['a']='A'
d2['b']='B'
d2['c']='C'

d3={}
d3['c']='C'
d3['a']='A'
d3['b']='B'

print d2 == d3

print '\nOrderedDict:'
d4=collections.OrderedDict()
d4['a']='A'
d4['b']='B'
d4['c']='C'

d5=collections.OrderedDict()
d5['c']='C'
d5['a']='A'
d5['b']='B'

print d1==d2

輸出:
Regular dictionary:
True

OrderedDict:
False

再看幾個例子:

dd = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}
#按key排序
kd = collections.OrderedDict(sorted(dd.items(), key=lambda t: t[0]))
print kd
#按照value排序
vd = collections.OrderedDict(sorted(dd.items(),key=lambda t:t[1]))
print vd

#輸出
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python郵件發(fā)送smtplib使用詳解

    python郵件發(fā)送smtplib使用詳解

    這篇文章主要為大家詳細介紹了python郵件發(fā)送smtplib的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python selenium文件上傳下載功能代碼實例

    Python selenium文件上傳下載功能代碼實例

    這篇文章主要介紹了Python selenium文件上傳下載功能代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 用python實現(xiàn)海龜賽跑小游戲

    用python實現(xiàn)海龜賽跑小游戲

    大家好,本篇文章主要講的是用python實現(xiàn)海龜賽跑小游戲,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python實現(xiàn)登錄人人網(wǎng)并抓取新鮮事的方法

    Python實現(xiàn)登錄人人網(wǎng)并抓取新鮮事的方法

    這篇文章主要介紹了Python實現(xiàn)登錄人人網(wǎng)并抓取新鮮事的方法,可實現(xiàn)Python模擬登陸并抓取新鮮事的功能,需要的朋友可以參考下
    2015-05-05
  • Python進階學習之你真的懂元組嗎?

    Python進階學習之你真的懂元組嗎?

    在我們學習python的過程中,對元組的介紹通常是成為”不可變的列表“,但是這其實并沒有完全的概括元組的功能。在本文中,我們將會介紹元組作為記錄的功能,話不多說我們開始吧
    2023-04-04
  • python隨機數(shù)分布random測試

    python隨機數(shù)分布random測試

    這篇文章主要為大家詳細介紹了python隨機數(shù)分布random的測試,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python中如何使用if語句處理列表實例代碼

    Python中如何使用if語句處理列表實例代碼

    這篇文章主要給大家介紹了關(guān)于在Python中如何使用if語句處理列表的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • Python中使用Frozenset對象的案例詳解

    Python中使用Frozenset對象的案例詳解

    Frozensets提供了一種創(chuàng)建不可變的集合的方法,它們只接受唯一的元素,并且是可散列類型的對象,所以它們可以在其他只接受可散列對象作為子對象的?Python?對象中使用,這篇文章主要介紹了如何在Python中使用Frozenset對象,需要的朋友可以參考下
    2022-08-08
  • Python高階函數(shù)與函數(shù)式編程概念及使用實例探究

    Python高階函數(shù)與函數(shù)式編程概念及使用實例探究

    這篇文章主要為大家介紹了Python高階函數(shù)與函數(shù)式編程概念及使用實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Sublime Text3最新激活注冊碼分享適用2020最新版 親測可用

    Sublime Text3最新激活注冊碼分享適用2020最新版 親測可用

    這篇文章主要介紹了Sublime Text3最新激活注冊碼分享親測3211可用
    2020-11-11

最新評論