日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Learning Python 009 dict(字典)和 set

發(fā)布時(shí)間:2025/3/14 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Learning Python 009 dict(字典)和 set 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python dict(字典)和 set

dict (字典)是什么東西

dict全稱dictionary。為什么這個(gè)數(shù)據(jù)結(jié)構(gòu)取名叫dict。因?yàn)閐ict的實(shí)現(xiàn)原理和查字典是一樣的。dict使用了鍵-值(key-value)存儲(chǔ)的方式。就好比在字典里查某個(gè)字一樣。dict數(shù)據(jù)結(jié)構(gòu)中的(key)就好比字典中的索引表里這個(gè)字對(duì)應(yīng)的頁(yè)碼。(value)就好比字典中這個(gè)字的內(nèi)容。這樣的特點(diǎn),效果就是查找速度極快。

例如:一個(gè)人“名字”-“成績(jī)”的對(duì)照表,直接根據(jù)名字查找成績(jī):

定義dict字典

>>> d = {'Aobo': 59, 'Shutong': 98, 'Yunjie': 86} >>> d['Aobo'] 59

dict中,添加元素

>>> d['Yue'] = 67 >>> d['Yue'] 67

修改dict中,某個(gè)key)的value

>>> d['Aobo'] = 88 >>> d['Aobo'] 88

判斷 key)是否存在于這個(gè)dict字典)中

如果,key不存在,會(huì)報(bào)錯(cuò)。比如:

>>> d['Harry'] Traceback (most recent call last):File "<stdin>", line 1, in <module> KeyError: 'Harry'

避免出現(xiàn)這樣的報(bào)錯(cuò)的方法有:
1. 使用in判斷key是否存在:

>>> 'Harry' in d False
  • 使用dict提供的get方法,來(lái)檢查key是否存在,如果不存在,返回None,或者自己指定的value
  • >>> d.get('Harry') >>> d.get('Harry', -1) -1

    注意:
    返回None的時(shí)候,在終端上的Python交互式命令行不顯示結(jié)果。

    刪除dict中,指定元素

    使用pop(key)方法,就可以將對(duì)應(yīng)的key-valuedict中刪除:

    >>> d.pop('Aobo') 88 >>> d {'Shutong': 98, 'Yunjie': 86, 'Yue': 67}

    使用dict,你需要注意的事情

    特點(diǎn)是比較出來(lái)的,所以,和list比較,dict有幾個(gè)特點(diǎn)
    1. 速度快。無(wú)論是查找還是插入,速度都極快,并且不會(huì)隨著key的增加而變慢。
    2. 需要占用大量的內(nèi)存,內(nèi)存浪費(fèi)多。

    那么,list的特點(diǎn)就是:
    1. 查找和插入的時(shí)間隨著元素的增加而增加;
    2. 占用空間小,浪費(fèi)內(nèi)存很少。

    注意:key的值是不可變的。
    字符串、整數(shù)等都是不可變的,可以放心地作為key。而list是可變的,就不能作為key。

    set

    介紹

    dict數(shù)據(jù)結(jié)構(gòu)類似,只是它只有key,沒(méi)有value

    定義一個(gè)set數(shù)據(jù)結(jié)構(gòu)

    使用set()函數(shù)定義set數(shù)據(jù)結(jié)構(gòu)。在()里面添加一個(gè)list數(shù)據(jù)([]):

    >>> s = set([1, 2, 3]) >>> s {1, 2, 3} >>> s = set([1, 1, 2, 2, 3, 3]) >>> s {1, 2, 3}

    注意:
    set會(huì)自動(dòng)將重復(fù)的元素過(guò)濾掉。所以,在set中,沒(méi)有重復(fù)的key。

    set數(shù)據(jù)類型中,添加元素

    使用add()方法,添加元素。

    >>> s.add(4) >>> s {1, 2, 3, 4}

    可以添加重復(fù)的key,但是不會(huì)有效果:

    >>> s.add(3) >>> s {1, 2, 3, 4}

    set數(shù)據(jù)類型中,刪除指定key的元素

    使用remove()方法,可以刪除元素:

    >>> s.remove(4) >>> s {1, 2, 3}

    對(duì)set數(shù)據(jù),進(jìn)行交集和并集等操作

    >>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>> s1 & s2 {2, 3} >>> s1 | s2 {1, 2, 3, 4}

    使用set,需要注意的事情

    setdict之間唯一的區(qū)別就是,set沒(méi)有存儲(chǔ)對(duì)應(yīng)的value。


    參考網(wǎng)站:
    http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143167793538255adf33371774853a0ef943280573f4d000

    轉(zhuǎn)載于:https://www.cnblogs.com/aobosir/p/5928639.html

    總結(jié)

    以上是生活随笔為你收集整理的Learning Python 009 dict(字典)和 set的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。