python的字典和集合你了解嗎
字典
d = {key1 : value1, key2 : value2, key3 : value3 }
鍵必須是唯一的,但值則不必。
值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字。
修改字典
向字典添加新內(nèi)容的方法是增加新的鍵/值對(duì)
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} tinydict['Age'] = 8 # 更新 Age tinydict['School'] = "菜鳥(niǎo)教程" # 添加信息 print ("tinydict['Age']: ", tinydict['Age']) print ("tinydict['School']: ", tinydict['School']) #tinydict['Age']: 8 #tinydict['School']: 菜鳥(niǎo)教程
刪除字典元素
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} del tinydict['Name'] # 刪除鍵 'Name' tinydict.clear() # 清空字典 del tinydict # 刪除字典
字典鍵的特性
1)不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記??;
2)鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),而用列表就不行
字典內(nèi)置函數(shù)&方法
內(nèi)置函數(shù)
1 len(dict)
:計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)。
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} len(tinydict) 3
2 str(dict)
:輸出字典,可以打印的字符串表示。
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} str(tinydict) "{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
3 type(variable)
返回輸入的變量類型,如果變量是字典就返回字典類型。
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} >>> type(tinydict) <class 'dict'>
內(nèi)置方法
1 dict.clear()
:刪除字典內(nèi)所有元素
2 dict.copy()
:返回一個(gè)字典的淺復(fù)制
3 dict.fromkeys()
:創(chuàng)建一個(gè)新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對(duì)應(yīng)的初始值
4 dict.get(key, default=None)
:返回指定鍵的值,如果鍵不在字典中返回 default 設(shè)置的默認(rèn)值
5 key in dict
:如果鍵在字典dict里返回true,否則返回false
6 dict.items()
:以列表返回一個(gè)視圖對(duì)象
7 dict.keys()
:返回一個(gè)視圖對(duì)象
8 dict.setdefault(key, default=None)
:和get()類似, 但如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為default
9 dict.update(dict2)
:把字典dict2的鍵/值對(duì)更新到dict里
10 dict.values()
:返回一個(gè)視圖對(duì)象
11 pop(key[,default])
:刪除字典給定鍵 key 所對(duì)應(yīng)的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。
12 popitem()
:隨機(jī)返回并刪除字典中的最后一對(duì)鍵和值
集合
集合
可以使用大括號(hào) { } 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來(lái)創(chuàng)建一個(gè)空字典。
parame = {value01,value02,…}或者 set(value)
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} >>> print(basket) # 這里演示的是去重功能 {'orange', 'banana', 'pear', 'apple'} >>> 'orange' in basket # 快速判斷元素是否在集合內(nèi) True >>> 'crabgrass' in basket False >>> # 下面展示兩個(gè)集合間的運(yùn)算. >>> a = set('abracadabra') >>> b = set('alacazam') >>> a {'a', 'r', 'b', 'c', 'd'} >>> a - b # 集合a中包含而集合b中不包含的元素 {'r', 'd', 'b'} >>> a | b # 集合a或b中包含的所有元素 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} >>> a & b # 集合a和b中都包含了的元素 {'a', 'c'} >>> a ^ b # 不同時(shí)包含于a和b的元素 {'r', 'd', 'b', 'm', 'z', 'l'}
集合的基本操作
1、添加元素 s.add(x)#若元素已存在,則不做任何操作 >>> thisset = set(("Google", "Runoob", "Taobao")) >>> thisset.add("Facebook") >>> print(thisset) {'Taobao', 'Facebook', 'Google', 'Runoob'} s.update(x)#可以添加元素,且參數(shù)可以是列表,元組,字典等 >>> thisset = set(("Google", "Runoob", "Taobao")) >>> thisset.update({1,3}) >>> print(thisset) {1, 3, 'Google', 'Taobao', 'Runoob'} >>> thisset.update([1,4],[5,6]) >>> print(thisset) {1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'} 2、移除元素 s.remove(x) >>> thisset = set(("Google", "Runoob", "Taobao")) >>> thisset.remove("Taobao")# 不存在會(huì)發(fā)生錯(cuò)誤 >>> print(thisset) {'Google', 'Runoob'} s.discard( x ) >>> thisset = set(("Google", "Runoob", "Taobao")) >>> thisset.discard("Facebook") # 不存在不會(huì)發(fā)生錯(cuò)誤 >>> print(thisset) {'Taobao', 'Google', 'Runoob'} s.pop() #set 集合的 pop 方法會(huì)對(duì)集合進(jìn)行無(wú)序的排列,然后將這個(gè)無(wú)序排列集合的左面第一個(gè)元素進(jìn)行刪除。 3、計(jì)算集合元素個(gè)數(shù) len(s) 4、清空集合 s.clear() 5、判斷元素是否在集合中存在 x in s 判斷元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。 >>> thisset = set(("Google", "Runoob", "Taobao")) >>> "Runoob" in thisset
集合內(nèi)置方法完整列表
1、add()
為集合添加元素
2、clear()
移除集合中的所有元素
3、copy()
拷貝一個(gè)集合
4、difference()
返回多個(gè)集合的差集
5、difference_update()
移除集合中的元素,該元素在指定的集合也存在。
6、discard()
刪除集合中指定的元素
7、intersection()
返回集合的交集
8、intersection_update()
返回集合的交集。
9、isdisjoint()
判斷兩個(gè)集合是否包含相同的元素,如果沒(méi)有返回 True,否則返回 False。
10、issubset()
判斷指定集合是否為該方法參數(shù)集合的子集。
11、issuperset()
判斷該方法的參數(shù)集合是否為指定集合的子集
12、pop()
隨機(jī)移除元素
13、remove()
移除指定元素
14、symmetric_difference()
返回兩個(gè)集合中不重復(fù)的元素集合。
15、symmetric_difference_update()
移除當(dāng)前集合中在另外一個(gè)指定集合相同的元素,并將另外一個(gè)指定集合中不同的元素插入到當(dāng)前集合中。
16、union()
返回兩個(gè)集合的并集
17、update()
給集合添加元素
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python?subprocess執(zhí)行外部命令常用方法詳細(xì)舉例
這篇文章主要給大家介紹了關(guān)于python?subprocess執(zhí)行外部命令常用方法的相關(guān)資料,Python的subprocess模塊提供了一種在Python中調(diào)用外部命令的方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12Python語(yǔ)音合成的項(xiàng)目實(shí)戰(zhàn)(PyQt5+pyttsx3)
本文主要介紹了Python語(yǔ)音合成的項(xiàng)目實(shí)戰(zhàn)(PyQt5+pyttsx3),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02在keras中獲取某一層上的feature map實(shí)例
今天小編就為大家分享一篇在keras中獲取某一層上的feature map實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python如何生成exe文件?用Pycharm一步步帶你學(xué)(超詳細(xì)、超貼心)
這篇文章主要給大家介紹了關(guān)于Python如何生成exe文件的相關(guān)資料,本文利用Pycharm一步步帶你學(xué),文中通過(guò)圖文以及實(shí)例代碼介紹的超詳細(xì)、超貼心,需要的朋友可以參考下2022-02-02使用Python進(jìn)行新浪微博的mid和url互相轉(zhuǎn)換實(shí)例(10進(jìn)制和62進(jìn)制互算)
我們?cè)谑褂眯吕宋⒉〢PI時(shí),有時(shí)需要得到一個(gè)微博的url,但是如statuses/public_timeline等接口中取得的微博status的字段中并沒(méi)有包含2014-04-04python-docx修改已存在的Word文檔的表格的字體格式方法
今天小編就為大家分享一篇python-docx修改已存在的Word文檔的表格的字體格式方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Windows系統(tǒng)下cython_bbox庫(kù)的正確安裝步驟
Cython-bbox一般無(wú)法直接通過(guò)pip直接安裝,那么如何安裝呢?下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下cython_bbox庫(kù)的正確安裝步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05python pprint模塊中print()和pprint()兩者的區(qū)別
這篇文章主要介紹了python pprint模塊中print()和pprint()兩者的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02