詳解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)文章
使用Python進(jìn)行情感分析并可視化展示結(jié)果
情感分析是一種通過自然語言處理技術(shù)來識別、提取和量化文本中的情感傾向的方法,Python在這一領(lǐng)域有著豐富的庫和工具,本文將介紹如何使用Python進(jìn)行情感分析,并通過可視化展示結(jié)果,需要的朋友可以參考下2024-05-05
Pygame實現(xiàn)游戲最小系統(tǒng)功能詳解
這篇文章主要介紹了Pygame實現(xiàn)游戲最小系統(tǒng),Pygame是一個專門用來開發(fā)游戲的 Python 模塊,主要為開發(fā)、設(shè)計 2D 電子游戲而生,具有免費、開源,支持多種操作系統(tǒng),具有良好的跨平臺性等優(yōu)點2022-11-11
Python函數(shù)的周期性執(zhí)行實現(xiàn)方法
這篇文章主要介紹了Python函數(shù)的周期性執(zhí)行實現(xiàn)方法,涉及Python使用sched模塊實現(xiàn)函數(shù)周期性調(diào)度觸發(fā)的相關(guān)技巧,需要的朋友可以參考下2016-08-08

