天天看點

python字典常用方法_Python3第二十六課:字典,常用方法整理 - 李金龍

字典方法:

其實在寫

如何查字典有多少方法:

dir(dict)

['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

字典方法代碼執行個體:

fromkeys()

支援兩個參數,key和value,value預設值為None

data = {}

b = data.fromkeys((1,2,3),'你大爺')

c = data.fromkeys((1,2,3),('one','two','three'))

print(data,'\n',b,'\n',c)

{}

{1: '你大爺', 2: '你大爺', 3: '你大爺'}

{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}

data的值始終未發生變化,value值為多項(内部是多項)是無法逐一映射到key,隻能是一個key擁有多個一個項(多個值而已)。看c輸出的結果。

通路字典的方法--列印字典中的key

data={}

data1 = data.fromkeys(range(10),'贊')

print(data1)

for eachkey in data1.keys():

print(eachkey)

1

2

3

4

5

6

7

8

9

通路字典的方法--列印字典中的value

data={}

data1 = data.fromkeys(range(10),'贊')

print(data1)

for eachkey in data1.values():

print(eachkey)

通路字典的方法--列印字典中的全部内容

data={}

data1 = data.fromkeys(range(10),'贊')

print(data1)

for eachkey in data1.items():

print(eachkey)

(0, '贊')

(1, '贊')

(2, '贊')

(3, '贊')

(4, '贊')

(5, '贊')

(6, '贊')

(7, '贊')

(8, '贊')

(9, '贊')

get()

傳回指定鍵的值,支援兩個參數,key和傳回内容預設是None

data={}

data1 = data.fromkeys(range(3),'贊')

print(data1)

for eachkey in data1.items():

print(eachkey)

print(data1.get(11,'不在'))

{0: '贊', 1: '贊', 2: '贊'}

(0, '贊')

(1, '贊')

(2, '贊')

不在

隻生成了3個key,是以找不到11那個key,傳回設定的内容。

擴充閱讀,判斷鍵是否在這個字典中,也可以使用成員運算符( in not in)

clear()

data={}

data1 = data.fromkeys(range(3),'贊')

print(data1)

data1.clear()

print(data1)

直接重置字典與clear的差別

data={}

data1 = data.fromkeys(range(3),'贊')

print(data1)

data2 = data1

print(data1,'這裡要分開第一次',data2)

data1 ={}

print(data1,'這裡要分開第二次',data2)

{0: '贊', 1: '贊', 2: '贊'}

{0: '贊', 1: '贊', 2: '贊'} 這裡要分開第一次 {0: '贊', 1: '贊', 2: '贊'}

{} 這裡要分開第二次 {0: '贊', 1: '贊', 2: '贊'}

pop()

删除指定給定鍵所對應的值,傳回這個值并從字典中把它移除。支援兩個值,鍵與傳回值(如key不在内容中傳回這個内容)

data={}

data1 = data.fromkeys(range(3),'贊')

print(data1,data1.pop(1,'我特麼要把你給删除')) #{0: '贊', 2: '贊'} 贊

print(data1,data1.pop(6,'我特麼要把你給删除')) #{0: '贊', 2: '贊'} 我特麼要把你給删除

print(data1) #{0: '贊', 2: '贊'}

popitem()

随機傳回并删除字典中的一對鍵和值(項),在測試中發現key如果為整形的條件下(1,2,3,4,5,6且不能斷開),删除是按順序删除的。

data={1: '1贊', 2: '2贊', 3: '贊3', 4: '4贊', 5: '5贊', 6: '6贊'}

b = data.popitem()

print(data,b)

(1, '1贊')

(2, '2贊')

(3, '贊3')

(4, '4贊')

(5, '5贊')

(6, '6贊')

如果Key是非整型外,其他的則是跟與其他人說的相同的

setdefault()

和get() 方法類似, 如果鍵不存在于字典中,将會添加鍵并将值設為預設值。

data ={'李金龍':180,'部落格':'0800','菜鳥':'2953',}

print(data.setdefault('李總','聯系方式')) #查不到資料,傳回'聯系方式',并增加字典key為李總,value為聯系方式

print(data)

print(data.setdefault('王總'))  #查不到資料,傳回預設值'None',并增加字典key為李總,value為'None'

print(data)

聯系方式

{'李金龍': 180, '部落格': '0800', '菜鳥': '2953', '李總': '聯系方式'}

None

{'李金龍': 180, '王總': None, '部落格': '0800', '菜鳥': '2953', '李總': '聯系方式'}

update()

函數把字典dict2的鍵/值對更新到dict裡,類似于相加

data = {1: '1贊', 2: '2贊', 3: '贊3', 4: '4贊', 5: '5贊', 6: '6贊'}

data2 = {12: '1贊', 17: '2贊', 31: '贊3', 24: '4贊', 15: '5贊', 64: '6贊'}

data2.update(data)

print(data2)

#{64: '6贊', 1: '1贊', 2: '2贊', 3: '贊3', 4: '4贊', 5: '5贊', 6: '6贊', 12: '1贊', 15: '5贊', 17: '2贊', 24: '4贊', 31: '贊3'}

單詞擴充:

clear:清除(在css中,有清除浮動的用途)

擴充閱讀:

版權注釋:

Python課程來源于魚C論壇:http://bbs.fishc.com/forum-243-1.html 版塊,課程内容為免費内容,如果你喜歡該課程,建議購買VIP賬号支援小甲魚,官方網店:https://fishc.taobao.com/)。

本内容為在李金龍在學習課程中做的日記記錄,友善自己以後查找相關資訊,另一方面也希望自己寫下的東西可以幫助到别人。

課程内容:http://blog.fishc.com/3156.html