Python數(shù)據(jù)類型之dict-set

1、dict字典數(shù)據(jù)類型

字典數(shù)據(jù)類型恩溅、map數(shù)據(jù)類型(映射類型)、容器數(shù)據(jù)類型谓娃,具有key-value鍵值對(duì)脚乡,key具有唯一性,不可改變

定義:demo_dict = {}? ?或? demo_dict = {"name": "tom", "age": 18}

a_dict = dict.formkeys([1,2,3], "hello")

取數(shù)據(jù):

print(demo_dict["name"])? ? ?# 通過(guò)key取得value的值滨达,如果獲取一個(gè)不存在的key奶稠,會(huì)報(bào)錯(cuò),KeyError

demo_dict["name"] = "joy"? ?#? 如果key存在捡遍,則是修改key對(duì)應(yīng)的value的值锌订,如果不存在,則是向字典中添加新的數(shù)據(jù)項(xiàng)

字典的遍歷:

遍歷所有數(shù)據(jù):

for item in demo_dict.items():

? ? print(item)

key關(guān)鍵字的遍歷:

for key in demo_dict.keys():

? ? print(key)

value的遍歷:

for value in demo_dict.values():

? ? print(value)

如何判斷指定的key是否存在于字典中:

print("sex" in demo_dict)

print(demo_dict.__contains__("addr"))

版本區(qū)別:

py2:? demo_dict.has_key("name")

py3:? in關(guān)鍵字

其他操作:

刪除數(shù)據(jù)項(xiàng)操作:

demo_dict.pop("name")? ?# 通過(guò)key來(lái)刪除

demo_dict.popitem()? ?# 沒(méi)有參數(shù)稽莉,隨機(jī)刪除一個(gè)數(shù)據(jù)項(xiàng)

清空字典:

demo_dict.clear()

復(fù)制(副本):

d_dict = demo_dict.copy()

修改字典:

demo_dict["name"] = "tom"? #? 如果存在則為修改,不存在為添加

demo_dict.setdefault("name", "jim")? # 第一個(gè)參數(shù)為key涩搓,第二個(gè)參數(shù)為默認(rèn)值(如果不存在)

更新:

a_dict = {"sex": "男", "addr": "北京"}

demo_dict.update(a_dict)

2污秆、set集合數(shù)據(jù)類型

set集合數(shù)據(jù)類型和字典數(shù)據(jù)類型相比,set沒(méi)有value值昧甘,set中的元素不能重復(fù)

定義:

a_set = set()

b_set = {1,2,3}

添加元素:

a_set.add(2)

a_set.update(b_set)

刪除元素:

a_set.remove(2)

清空:

a_set.clear()

不可變集合:

num_set = frozenset([1,2,3,4])? ?#? 不可變集合良拼,不能添加,刪除充边,清空元素庸推,可以復(fù)制

集合間的運(yùn)算:

print(2 in a_set)? # 判斷某個(gè)元素是否存在? not in? 不在

print(a_set != b_set)? ?# 不等于

print(a_set >= b_set)? #?

print(a_set & b_set)? ?# 求交集

print(a_set | b_set)? ?# 求并集

print(a_set - b_set)? ?# 求差集

print(a_set - b_set)? ?# 大數(shù)減小數(shù)

print(a_set ^ b_set)? ?# 異或運(yùn)算

3、list/dict/set的區(qū)別

①浇冰、查找元素速度

list元素較多時(shí)贬媒,查找速度會(huì)隨著元素的個(gè)數(shù)增多而減慢,而dict不會(huì)肘习,所有順序由關(guān)鍵字key來(lái)決定际乘,查找速度接近一個(gè)恒定值

②、內(nèi)存

list占用內(nèi)存空間小漂佩,dict占用空間大

③脖含、其他

list中的元素可以重復(fù)罪塔,dict里面的key是不能重復(fù)的,set元素不能重復(fù)养葵,重復(fù)會(huì)發(fā)生覆蓋

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末征堪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子关拒,更是在濱河造成了極大的恐慌佃蚜,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夏醉,死亡現(xiàn)場(chǎng)離奇詭異爽锥,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)畔柔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門氯夷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人靶擦,你說(shuō)我怎么就攤上這事腮考。” “怎么了玄捕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵踩蔚,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我枚粘,道長(zhǎng)馅闽,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任馍迄,我火速辦了婚禮福也,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘攀圈。我一直安慰自己暴凑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布赘来。 她就那樣靜靜地躺著现喳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪犬辰。 梳的紋絲不亂的頭發(fā)上嗦篱,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音幌缝,去河邊找鬼默色。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腿宰。 我是一名探鬼主播呕诉,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吃度!你這毒婦竟也來(lái)了甩挫?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤椿每,失蹤者是張志新(化名)和其女友劉穎伊者,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體间护,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡亦渗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了汁尺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片法精。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖痴突,靈堂內(nèi)的尸體忽然破棺而出搂蜓,到底是詐尸還是另有隱情,我是刑警寧澤辽装,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布帮碰,位于F島的核電站,受9級(jí)特大地震影響拾积,放射性物質(zhì)發(fā)生泄漏殉挽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一拓巧、第九天 我趴在偏房一處隱蔽的房頂上張望斯碌。 院中可真熱鬧,春花似錦玲销、人聲如沸输拇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至逛裤,卻和暖如春瘩绒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背带族。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工锁荔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蝙砌。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓阳堕,卻偏偏與公主長(zhǎng)得像跋理,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恬总,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. Python的hello-world: print ("Hello, Python!")前普、 完了 搖就完事兒...
    LunarShade閱讀 1,388評(píng)論 0 0
  • Python 是一種相當(dāng)高級(jí)的語(yǔ)言,通過(guò) Python 解釋器把符合語(yǔ)法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 1,904評(píng)論 0 3
  • 1. 注解的定義 注解是元數(shù)據(jù)壹堰,是修飾數(shù)據(jù)的數(shù)據(jù)拭卿,在Java中使用注解來(lái)修飾類、方法或者屬性贱纠,然后使用注解處理器來(lái)...
    風(fēng)起天藍(lán)閱讀 165評(píng)論 0 1
  • 芳草萋萋 綠水縈繞 老黃牛身邊陪著牛犢 藍(lán)的只有幾片云點(diǎn)綴的天空 背后壩上流過(guò)青苔的溪水 鳥(niǎo)兒婉轉(zhuǎn)地嘰嘰喳喳 似乎...
    叫我梅芳就好閱讀 225評(píng)論 0 5
  • 首先坑填,計(jì)算機(jī)會(huì)加載 BLOS甩十。這是計(jì)算機(jī)上最接近硬件的軟件。所做的工作是"Power on Self Test"(...
    蘇近之2017閱讀 128評(píng)論 0 0