詳解Python中dict與set的使用
Python中類似于PHP的數(shù)組的結(jié)構(gòu)有l(wèi)ist,tuple,dict和set, 其中l(wèi)ist, tuple和set的類似于PHP的索引數(shù)組, 而dict就類似于PHP的關(guān)聯(lián)數(shù)組,
dict:
dict的結(jié)構(gòu)表示了一種映射關(guān)系, 與PHP的關(guān)聯(lián)數(shù)組類似, 比如要定義個用戶信息如下:
name: Yi_Zhi_Yu sex: Man country: China
這個使用list,tuple和set都是不能直接表示出來的, 因為沒有能夠使用字符串做鍵值的結(jié)構(gòu),而dict就可以,如下
m = {"name":"Yi_Zhi_Yu", "sex":"Man", "country": "China"} //注意這里是`{}`, 不是`[]` print m["name"] //Yi_Zhi_Yu print m["sex"] //Man print m["country"] //China
dict 的數(shù)值對象有個get方法, 讓我們可以在獲取指定key的時候可以指定默認(rèn)值
- dict 在查找(hash key)和插入(沒有順序要求)速度方面比較有優(yōu)勢,但內(nèi)存消耗較大
- 而list則正好相反
Set:
Set 與 List 和 Tuple 類似, 但Set中的值是不會重復(fù)的
比如要定義學(xué)的課程,使用set定義:
定義如下:
classes = set([u"語文", u"數(shù)學(xué)", u"英文"]) //set 關(guān)鍵詞, 括號中是個list print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])
添加的方法是add
classes.add(u"數(shù)學(xué)")
//不會有重復(fù) print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587']) classes.add(u"歷史") print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u5386\u53f2', u'\u82f1\u6587'])
刪除的方法是remove:
classes.remove(u"歷史") print classes // set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])
相關(guān)文章
flask框架配置mysql數(shù)據(jù)庫操作詳解
這篇文章主要介紹了flask框架配置mysql數(shù)據(jù)庫操作,結(jié)合實例形式詳細(xì)分析了flask框架配置mysql數(shù)據(jù)庫及連接訪問等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11python利用 pytesseract快速識別提取圖片中的文字((圖片識別)
本文介紹了tesseract的python調(diào)用,也就是pytesseract庫,其中還有一些其他的內(nèi)容并沒有涉及,僅涉及到了圖片提取文字,如果你對其感興趣,可以深入探索一下,也希望能和我探討一下2022-11-11Python學(xué)習(xí)筆記之lambda表達(dá)式用法詳解
這篇文章主要介紹了Python學(xué)習(xí)筆記之lambda表達(dá)式用法,結(jié)合實例形式詳細(xì)分析了lambda表達(dá)式的概念、功能、原理、組成及相關(guān)使用技巧,需要的朋友可以參考下2019-08-08python實現(xiàn)本地批量ping多個IP的方法示例
這篇文章主要介紹了python實現(xiàn)本地批量ping多個IP的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08