最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)有序遍歷dict(字典)

 更新時間:2023年08月21日 09:12:48   作者:yealxxy  
這篇文章主要介紹了python實現(xiàn)有序遍歷dict(字典),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python有序遍歷dict(字典)

大家都知道dict是無序的,這篇文章介紹dict的有序遍歷。這里我們主要用到一個python的方法sorted()。

一、sorted()方法介紹

內(nèi)建函數(shù)sorted方法,可以對所有可迭代的對象進行排序操作。

1.方法-sorted(iterable, key=None, reverse=False):

  • iterable,可以看到其中第一個參數(shù)是可迭代對象;
  • key,主要是用來進行比較的元素,只有一個參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對象中,指定可迭代對象中的一個元素來進行排序;
  • reverse,是否反轉(zhuǎn),默認情況下不反轉(zhuǎn);

2.sorted()的理解,對list的排序為例:

def test_sorted():
    L = [('b', 2), ('a', 1), ('c', 3), ('d', 0)]
    print(sorted(L,key=lambda x:x[0])) # 用第一項排序
    print(sorted(L,key=lambda x:x[1])) # 用第二項排序
test_sorted()
輸出:
[('a', 1), ('b', 2), ('c', 3), ('d', 0)]
[('d', 0), ('a', 1), ('b', 2), ('c', 3)]

二、dict按key有序遍歷

def sort_by_key(dic):
    for key in sorted(dic):
        print(key,dic[key])
dic = {1:2,4:2,6:1,0:5}
sort_by_key(dic)
輸出:
0 5
1 2
4 2
6 1

三、dict按value有序遍歷

def sort_by_value(dic):
    for key,value in sorted(dic.items(),key=lambda x:x[1]):
        print(key,value)
dic = {1:2,4:2,6:1,0:5}
sort_by_value(dic)
輸出:
6 1
1 2
4 2
0 5

python的dict用法

一、dict

python中的dict(字典)就是來保存這種映射,在dict中每一個key和value 是一一對應(yīng)的。

【E1】新來同學(xué)Gaven成績86,編寫一個dict,把新同學(xué)成績添加進去。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
d ['Gaven'] =86
print(d)
#{'Alice': 45, 'Candy': 75, 'David': 86, 'Ellena': 49, 'Gaven': 86, 'Bob': 60}

二、讀取dict 元素

創(chuàng)建一個dict ,dict 通過key找到對應(yīng)的value的功能。還可以通過key來獲取對應(yīng)的value,dict提供get方法,把key當(dāng)作參數(shù)傳遞給get方法。當(dāng)Key不存在時也不會出錯。

【E2】根據(jù)如下dict,打印出Alice, Bob, Candy, Mimi, David的成績,當(dāng)同學(xué)不存在時,打印None。

d ={
    'Alice':45,
    'Bob':60,
    'Candy':75,
    'David':86,
    'Ellena':49,
    'Gaven':86
}
print(d['Alice'])
print(d['Bob'])
print(d['Candy'])
print(d['David'])
print(d['Ellena'])
print(d['Gaven'])
print(d.get('Dodo'))

三、添加dict元素

dict和tuple不一樣,dict是可變的,我們隨時可以往dict中添加新的key-value,value可以是任意類型的元素,可以是list、tuple等,

【E3】Alice、Bob、Candy的最近三次的成績分別是[50, 61, 66],[80, 61, 66],[88, 75, 90],請更新dict,使得dict可以保存同學(xué)多次的成績。

d = {
    'Alice': [45],
    'Bob': [60],
    'Candy': [75],
}
d['Alice'] =[50,61,66]
d['Bob'] =[80,61,66]
d['Candy'] =[88,75,90]
print(d)
#{'Bob': [80, 61, 66], 'Alice': [50, 61, 66], 'Candy': [88, 75, 90]}

賦值語句有兩個功能:

  • 1.當(dāng)key不存在時,往dict中添加對應(yīng)的key:value元素。
  • 2.當(dāng)key存在時,會更新dict,用新的value 替換原來的value。

在使用賦值語句往dict中添加元素時,為了避免不必要的覆蓋問題,我們需要先判斷key是否存在,然后再做更新。

【E4】請更新Alice的成績?yōu)?0,并把舊的成績記錄下來。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
d['Alice'] =60
print(d)

四、刪除dict元素

當(dāng)我們不需要這個元素時,需要把元素從dict中刪除,pop()方法快速刪除元素。但需要指定需要刪除元素的key,并返回value。

<**注>**pop()方法的參數(shù)是dict中的key,當(dāng)key不存在時,同樣會引起錯誤。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
print(d)
alice_score =d.pop('Alice')
print(alice_score)
print(d)
bob_score =d.pop('Bob')
print(bob_score)
print(d)

五、dict的特點查找速度快

查找速度快

dict的第一個特點是查找速度快,而list的查找速度隨著元素增加而逐漸下降。dict的缺點是占用內(nèi)存大,還會浪費很多內(nèi)容,list正好相反,占用內(nèi)存小,但是查找速度慢。

有序與無序

在python3.5之前,dict元素插入順序是無序的。python3.5之后元素有序。

python遍歷dict

遍歷dict有兩種方法

  • 第一種是遍歷dict的所有key,并通過key獲得對應(yīng)的value。
  • 第二種方法是通過dict提供的items()方法,items()方法會返回dict中所有的元素,每個元素包含key和value。

【E5】以此輸出同學(xué)的每次成績。

d = {‘Alice’: [50, 61, 66], ‘Bob’: [80, 61, 66], ‘Candy’: [88, 75, 90]}

d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for key,value in d.items():
    if value > 60:
        print(key,value)
   ==>  #('Bob', [80, 61, 66])
		#('Alice', [50, 61, 66])
		#('Candy', [88, 75, 90])

六、清除所有元素

dict 提供clear()函數(shù),直接清除dict 中所有元素。

d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
print(d) # ==> {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
d.clear()
print(d)  #====》[]

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python dict 字典 以及 賦值 引用的一些實例(詳解)

    python dict 字典 以及 賦值 引用的一些實例(詳解)

    下面小編就為大家?guī)硪黄猵ython dict 字典 以及 賦值 引用的一些實例(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python使用PyQt開發(fā)一個桌面計算器的實戰(zhàn)指南

    Python使用PyQt開發(fā)一個桌面計算器的實戰(zhàn)指南

    在桌面應(yīng)用開發(fā)中,計算器 是一個非常適合入門的練手項目, 它涉及到圖形界面設(shè)計、事件綁定、信號槽機制、布局管理等核心概念,今天我們將使用 PyQt5一步步實現(xiàn)一個可用的計算器程序,需要的朋友可以參考下
    2025-11-11
  • python實現(xiàn)機器人卡牌

    python實現(xiàn)機器人卡牌

    這篇文章主要為大家詳細介紹了python實現(xiàn)機器人卡牌,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 詳解Pytorch 使用Pytorch擬合多項式(多項式回歸)

    詳解Pytorch 使用Pytorch擬合多項式(多項式回歸)

    這篇文章主要介紹了詳解Pytorch 使用Pytorch擬合多項式(多項式回歸),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • python的pywebview庫結(jié)合Flask和waitress開發(fā)桌面應(yīng)用程序完整代碼

    python的pywebview庫結(jié)合Flask和waitress開發(fā)桌面應(yīng)用程序完整代碼

    pywebview是輕量級Python庫,用于創(chuàng)建跨平臺桌面應(yīng)用,結(jié)合HTML/CSS/JS界面與Python交互,支持Windows/macOS/Linux,資源占用低,可與Flask、Waitress集成,便于開發(fā)、部署,本文給大家介紹python的pywebview庫結(jié)合Flask和waitress開發(fā)桌面應(yīng)用程序簡介,感興趣的朋友一起看看吧
    2025-07-07
  • 基于python求兩個列表的并集.交集.差集

    基于python求兩個列表的并集.交集.差集

    這篇文章主要介紹了基于python求兩個列表的并集.交集.差集,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • 通過代碼實例了解Python異常本質(zhì)

    通過代碼實例了解Python異常本質(zhì)

    這篇文章主要介紹了通過代碼實例了解Python1異常本質(zhì),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Python將文本去空格并保存到txt文件中的實例

    Python將文本去空格并保存到txt文件中的實例

    今天小編就為大家分享一篇Python將文本去空格并保存到txt文件中的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python FastAPI返回不帶雙引號的字符串問題

    Python FastAPI返回不帶雙引號的字符串問題

    這篇文章主要介紹了Python FastAPI返回不帶雙引號的字符串問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python rindex()方法案例詳解

    Python rindex()方法案例詳解

    這篇文章主要介紹了Python rindex()方法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09

最新評論

砚山县| 项城市| 宁城县| 新巴尔虎左旗| 皋兰县| 聊城市| 陆良县| 阿勒泰市| 调兵山市| 沛县| 临沭县| 左贡县| 通海县| 东乡族自治县| 阳江市| 仁寿县| 花莲市| 玛纳斯县| 松江区| 灵川县| 荆门市| 登封市| 涟源市| 漯河市| 台州市| 龙江县| 苗栗市| 恩施市| 榆社县| 正定县| 喜德县| 龙南县| 晋州市| 宣武区| 娄底市| 玉龙| 永州市| 丰宁| 永安市| 松潘县| 娱乐|