一:基本格式:
myChat = { 'size': 'fat' , 'color':'gray' , 'disposition':'loud' }
其中,'size','color','disposition'是键;'fat'、'gray'、'loud'是键对应的数值。
类似于C++中的map<key,value>与map不同的是,字典本身是不具备排序功能的
二:keys() 、values() 、 items()方法
例子:
spam = { 'color':'red' , 'age':42 }
keys() -------- 字典的键
数据类型:dict_keys
spam.keys()
答案:dict_keys(['color' , 'age'])
list(spam.keys())
答案:['color' , 'age']
values() --------- 字典的值
for k in spam.keys():
print(k)
答案:
color
age
数据类型:dict_values
for v in spam.values():
print(v)
答案:
red
42
items() ---------- 字典的键-值
数据类型:dict_items
for i in spam.items():
print(i)
答案:
('color' , 'red')
('age' , 42)
三:检查字典中是否存在键或值
spam = {'name':'Zophie','age':7}
'name' in spam.keys()
答案:True
'Zophie' in spam.values()
答案:True
'color' in spam.keys()
答案:False
'color' not in spam.keys()
答案:True
四:get()方法
有两个参数:(1)要取得其值得键(2)如果该键不存在,返回的备用值
例子;
picnicItems = {'apple':5 , 'cups':2}
>>>'I am bringing' + str(picnicItems.get('cups',0)) + 'cups'
答案:I am bringing 2 cups
>>>'I am bringing' + str(picnicItems.get('eggs',0)) + 'cups'
答案:I am bringing 0 cups
五:setdefault()方法
你常常需要为字典中某个键值设置一个默认值,当该键没有任何价值时使用它。
代码看起来好像是这个样子的:
spam = {'name':'Pooka' , 'age':5}
if 'color'not in spam:
spam['color'] = 'black'
setdefault()方法提供了一种方式,在一行中完成这件事。
传递给该方法的参数:
(1)要检查的键
(2)如果该键不存在时,要设置的值
如果该键确实存在,方法就会返回键的值。
以下是简单例子:
>>> spam = {'name':'Pooka' , 'age':5}
>>> spam.setdefault('color','black')
'black'
>>> spam
{'color':'black' , 'age':5 , 'name':'Pooka' }
>>> spam.setdefault('color','white')
'black'
>>> spam
{'color':'black' , 'age':5 , 'name':'Pooka' }
例子解释:
第一次调用setdefault()时,spam变量中的字典变为{'color':'black' , 'age':5 , 'name':'Pooka' },该返回值'black'。因为现在改值被赋给键'color'。
当spam.setdefalut('color','write')接下来被调用时,该键的值“没有”被改变成'write'。因为spam变量已经有名为'color'的键了。