字典
字典用{}
表示
字典里面存放了两样东西第一个是键
你可以将这个东西理解为索引,当我们有这个键
的时候,就不需要索引了
# 定义一个字典
a = {"name" : "wangyangzheng","age" : 18,"school" : "asthu"}
# 键:name, age,school
# 值:wangyangzheng,age,asthu
# 访问
print(a ["name"])
#记住这里要加上""
#如果没有加上会发生name没有定义的错误
字典是乱序的,如果我们判断两个字典是否相等,字典元素顺序不同,但是元素相同,是一样的
a = {'1' : 1, '2' : 2}
b = {'2' : 2, '1' : 1}
print(a == b)
# 输出True
对字典的操作方法
- keys()
我们通过.keys()返回字典的所有键
spam = {'size' : 'fat','color' : 'gray','disposition' : 'loud'}
# 返回类似列表这种
print(spam.keys())
#逐个输出spam的键
for i in spam.keys():
print(i)
- values()
.values()返回字典的所有值
spam = {'size' : 'fat','color' : 'gray' ,'disposition' : 'loud'}
print(spam.values())
# 逐个输出字典的值
for i in spam.values():
print(i)
- items()
.items()返回字典的键值对,返回的是类似的类型
spam = {'size' : 'fat','color' : 'gray' ,'disposition' : 'loud'}
print(spam.items())
# 逐个输出键值对
for i in spam.items():
print(i)
字典是否存在某个值
如果这个值存在那就是in,如果没有那就是not int
spam = {'size' : 'fat','color' : 'gray','disposition' : 'loud'}
print('name' in spam.keys()) # 返回False 表示'name'不是spam的键
print('gray' in spam.values())# 返回True 表示'gray'是spam的值
print('gray' not in spam.keys())# 返回False 表示'gray'不是spam的键
get() and setdefault 方法
- get()
get()方法有两个参数,第一个参数是要取的值对应的键,第二个参数是要返回的备用值(如果这个键不存在)
spam = {'apple' : 5,'cups' : 2}
print("I'm bring" + str(spam.get('cups',0)) + 'cups' ) # 2
print("I'm bring" + str(spam.get('pen',0)) + 'pens') #输出备用值 0
- setdefault()
setdefault()方法也有两个参数,第一个参数是要取的值对应的键,第二个参数是备用值
如果这个键不存在,那就将键和值都放入字典中
spam = {'1':1}
print(spam.setdefault('1',0))
print(spam.setdefault('2',2))
我们发现第三行输出的值是2
这是因为’2’这个键不存在,setdefault方法将这个键和值都添加进去了
我们可以验证一下
print(spam)
发现确实如此