python字典的用法_Python字典的用法详解(附示例)
本篇文章給大家帶來的內容是關于Python字典的用法詳解(附示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
字典的表現形式為:{key:value},鍵和值之間用冒號分隔,每個鍵值對兒之間用逗號分隔,比如{‘name’:’超人’,’age’:500},要注意key的類型必須是不可變的類型,python對key進行哈希函數運算,根據計算結果決定value的存儲地址,所以字典是無序存儲的。字典的增刪改查如下:
增
可以通過直接賦值的方式對字典進行修改,當指定的鍵不存在時則會在末尾增加一對兒鍵值dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
dic['age'] = 20
dic['lover'] = '小昭'
print(dic)
輸出:
{'name': '劉先生', 'age': 20, 'job': '工程師', 'marr': '已婚', 'lover': '小昭'}
還可以使用setdefaultv(key,value)方法來增加鍵值對兒
如果key存在則不錯任何改動,如果key不存在,則會在末尾添加新的鍵值,并且如果不給定value的話默認為None
一句話概括就是“有就不管他,沒有就增加”,這在循環中可以利用這一點dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
dic.setdefault('name','超人')
dic.setdefault('lover','小姐姐')
print(dic)
輸出:
{'name': '劉先生', 'age': '39', 'job': '工程師', 'marr': '已婚', 'lover': '小姐姐'}
刪: pop() clear del
pop 刪除指定的key對應的value,并且返回刪除的value,如果key不存在則會報錯。dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
res = dic.pop('name')
print(dic,'返回值:',res)
輸出:
{'age': '39', 'job': '工程師', 'marr': '已婚'} 返回值: 劉先生
在使用pop()時還可以增加一個參數來指定返回值,如果給定的key不存在則會返回給定的返回值.這種方式非常好用,可以防止key不存在時報錯,如果存在則刪除,不存在則返回指定的字符串。dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
res = dic.pop('小三兒','查無此人')
print('返回值:',res)
輸出:
返回值: 查無此人
clear 用于清空字典。dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
dic.clear()
print(dic)
輸出:
{}
del 用于刪除指定的鍵值,如果只給出字典名字時則會刪除整個字典對象dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
del dic['name']
#del dic
print(dic)
輸出:
{'age': '39', 'job': '工程師', 'marr': '已婚'}
改: 見“增”
查:
可以直接指定鍵來訪問字典,有則返回對應的值,沒有則報錯:dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
a = dic['name']
print(a)
輸出:
劉先生
可以通過字典的三個方法keys(),values(),items()分別查詢所有的鍵、值、鍵值對兒。dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
a = dic.keys()
b = dic.values()
c = dic.items()
print('keys():',a)
print('values():',b)
print('items():',c)
輸出:
keys(): dict_keys(['name', 'age', 'job', 'marr'])
values(): dict_values(['劉先生', '39', '工程師', '已婚'])
items(): dict_items([('name', '劉先生'), ('age', '39'), ('job', '工程師'), ('marr', '已婚')])
還可以用for循環遍歷這三個方法來分別獲得鍵值。dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
for k in dic.keys():
print(k)
輸出:
name
age
job
marrdic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
for v in dic.values():
print(v)
輸出:
劉先生
39
工程師
已婚dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
for k,v in dic.items():
print(k,v)
輸出:
name 劉先生
age 39
job 工程師
marr 已婚
字典的其他方法
len(dict)
計算字典元素個數。
str(dict)
把字典專戶為字符串,如:dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
a = str(dic)
import re
res = re.search(r'name',a)
print(res)
輸出:
<_sre.SRE_Match object; span=(2, 6), match='name'>
因為把dic轉化為字符串并賦值給a,所以可以對a進行正則匹配
而如果直接對dic進行正則匹配則報錯,因為dic不是字符串類型。
copy()
返回一個字典的淺復制
dict.fromkeys(seq,'value')
以序列seq中的元素作為字典的鍵,value為初始值 創建字典,如果不給參數value的話則每個鍵對應的值為Non,注意:這是一個“類方法”,所以使用時前面要加dict.seq = ['a',1,'b']
a = dict.fromkeys(seq,'value')
print(a)
輸出:
{'a': 'value', 1: 'value', 'b': 'value'}
get(key, default=None)
返回指定鍵的值,如果鍵不存在則返回default值。
popitem()
刪除并返回字典的一個鍵值對,如果字典為空則會報錯。dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
res1 = dic.popitem()
res2 = dic.popitem()
res3 = dic.popitem()
print(res1,res2,res3,dic)
輸出:
('marr', '已婚') ('job', '工程師') ('age', '39') {'name': '劉先生'}
update([other])
用鍵值對兒更新字典,如果鍵已經存在則會替換對應的值,參數為另外一個字典或者可迭代的鍵值對兒,比如:dic = {'name':'劉先生','age':'39','job':'工程師','marr':'已婚'}
it = ((i,i**2) for i in range(1,4))
dic.update(it)
print(dic)
輸出:
{'name': '劉先生', 'age': '39', 'job': '工程師', 'marr': '已婚', 1: 1, 2: 4, 3: 9}
也可以用下面的方式指定鍵對應的值,比如
dic.update(name = '李小姐',age = 22)
以上就是Python字典的用法詳解(附示例)的詳細內容,更多請關注php中文網其它相關文章!
本文轉載于:segmentfault思否,如有侵犯,請聯系a@php.cn刪除
總結
以上是生活随笔為你收集整理的python字典的用法_Python字典的用法详解(附示例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python字典添加列表_【Python
- 下一篇: python实例属性与类属性_Pytho