字典由多個鍵及與其對應的值構成的對組成(把鍵值對成為項),每個鍵和它的值之間用冒號(:)隔開,項之間用逗號(,)隔開,而整個字典由一對大括號括起來??兆值溆蓛蓚€大括號組成:{}
dict函數
可以用dict函數,通過其他映射或者(鍵,值)這樣的序列對建立字典
代碼如下:
>>> items=[('name','Gumby'),('age',42)]
>>> d=dict(items)
>>> d
{'age': 42, 'name': 'Gumby'}
>>> d['name']
'Gumby'
dict函數也可以通過關鍵字參數來創建字典:
代碼如下:
>>> d=dict(name='Gumby',age=42)
>>> d
{'age': 42, 'name': 'Gumby'}
基本字典操作:
字典的基本行為在很多方面與序列類似:
len(d)返回d中項(鍵-值對)的數量
d[k]返回關聯到鍵k上的值
d[k]=v將值v關聯到鍵k上
del d[k]刪除鍵為k的項
k in d檢查d中是否含有鍵為k的項
說明:
鍵類型:字典的鍵不一定為整型數據,也可能是其他不可變類型
自動添加:即使那個鍵起始在字典中并不存在,也可以為它分配一個值,這樣字典就會建立新的項,而不能將值關聯到列表范圍之外的索引上
成員資格:表達式k in d(d為字典)查找的是鍵,而不是值。表達式v in l(l為列表)則用來查找值,而不是索引
字典方法:
1、clear
clear方法清除字典中所有的項,這是個原地操作,所以無返回值
代碼如下:
>>> d={}
>>> d['name']='Gumby'
>>> d['age']=42
>>> d
{'age': 42, 'name': 'Gumby'}
>>> return_value=d.clear()
>>> d
{}
>>> print return_value
None
考慮下面兩種情況:
代碼如下:
>>> x={}
>>> y=x
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x={}
>>> y
{'key': 'value'}
>>>
>>> x={}
>>> y=x
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x.clear()
>>> y
{}
2、copy
copy方法返回一個具有相同鍵-值對的新字典(這個方法實現的是淺復制)
代碼如下:
>>> x={'username':'admin','machines':['foo','bar','baz']}
>>> y=x.copy()
>>> y['username']='mlh'
>>> y['machines'].remove('bar')
>>> y
{'username': 'mlh', 'machines': ['foo', 'baz']}
>>> x
{'username': 'admin', 'machines': ['foo', 'baz']}
從上面的代碼可以看到,當副本中替換值的時候,原字典不受影響,但是,如果修改了某個值,原始的字典也會改變
新聞熱點
疑難解答