字典
dictionary
1.鍵值對的集合(map)
2.字典是以大括號“{}”包圍的數據集合
3.字典是無序的,在字典中通過鍵來訪問成員。 可變的,可嵌套,可以原處修改擴展等,不產生新的字典
4.字典的鍵,可以是字符串(大小寫敏感),數字常量或元組(不可變類型),同一個字典的鍵可以混用類型。字典的鍵必須是可哈希的
元組作為鍵的條件是,元組內的值都是不可變類型
代碼如下:
a = (1,2) #可以作為鍵
b = (1,2,[3,4]) #不可以
5.字典的值可以是任意類型,可以嵌套,可以自由修改
聲明
創建字典的幾種方式:
1.基本
代碼如下:
d = {} #空字典
d = {'name':'tom', 'age':22}
#等價
d = {}
d['name'] = 'tom'
d['age'] = 22
2.dict
代碼如下:
d = dict() #空
d = dict(name='tom', age=22)
d = dict([('name','tom'), ('age',22)])
#等價
keys = ['name','age']
values = ['tom', 22]
d = dict(zip(keys,values))
3.fromkeys
不指定default_value的話,默認None
代碼如下:
>>> dict.fromkeys(['name','age'],'default_value')
{'age': 'default_value', 'name': 'default_value'}
基本操作
0.獲取幫助
代碼如下:
help(dict)
1.判定鍵是否存在于字典中
代碼如下:
if k in d: #k not in
dosomething()
2.讀取
代碼如下:
d = {'a':1, 'b':2}
print d['a'] #得到1,但是若鍵不存在,將引發異常KeyError。慎用,建議不使用
print d.get('c', 3) #得到3,get方法,若是鍵不存在,返回第二個參數default_value.若是沒有設default_value返回None
處理missing-key錯誤三種方式,根據具體需要
代碼如下:
if k in d:
print d[k]
try:
print d[k]
except KeyError:
dosomething()
print d.get(k, default)
#等價 d[k] if k in d else default
3.遍歷
方式1:
代碼如下:
for key in d:
print key, d[key]
#等價 for key in d.keys()
方式2:
代碼如下:
for key,value in d.items():
print key, value
4.修改方式1:某個鍵值對
代碼如下:
d['key'] = 'newvalue'
方式2:批量添加或更新
代碼如下:
#另一個字典
d.update({'key':'newvalue'}) #這里支持一整組值
#元組列表
d.update( [ ('a',1), ('b',2) ] ) #每個元組兩個元素,(key,value)
#**key
d.update(c=3, e=4)
5.刪除
代碼如下:
del d['key']
value = d.pop('key') #刪除并返回值
d.clear() #清空
6.其他:
len(d) #長度
d.keys() #key列表
d.values() #value列表
d.items() #(key, value) 列表
c = d.copy() #淺拷貝
新聞熱點
疑難解答