字典语法:dictionary = {key1:value1, key2:value2, ...}
stu_dict = dict(name='Mary', age=20, gender='female')
stu_dict = \
{
'name': 'Mary',
'age': '20',
'gender': 'female'
}
stu_dict ={}
stu_dict['name'] = 'Mary'
stu_dict['age'] = 20
stu_dict['gender'] = 'female'
基于上述3种创建方法,我们用 print(stu_dict)
输出的结果都是:
stu_dict = dict(name='Mary', age=20, gender='female')
print(stu_dict['name'])
print(stu_dict['age'])
print(stu_dict['gender'])
修改元素:
stu_dict = dict(name='Mary', age=20, gender='female')
stu_dict['age'] = 18 # 修改元素
print(stu_dict)
输出>>: {'name': 'Mary', 'age': 18, 'gender': 'female'}
增加元素:
stu_dict['school'] = "DPS School" # 增加元素
print(stu_dict)
输出>>: {'name': 'Mary', 'age': 18, 'gender': 'female', 'school': 'DPS School'}
stu_dict = dict(name='Mary', age=20, gender='female')
del stu_dict['name'] # 删除键是'Name'的条目
stu_dict.clear() # 清空词典所有条目
del stu_dict # 删除词典
dict.items()方法将字典中所有的项以列表方式返回,但是在返回的时候没有特定的顺序。
stu_dict = dict(name='Mary', age=20, gender='female')
print(stu_dict.items())
输出>>: dict_items([('name', 'Mary'), ('age', 20), ('gender', 'female')])
基于dict.items()方法我们可以进一步遍历key和value来访问字典:
for key, value in stu_dict.items():
print(key, ':', value)
当get访问一个不存在的键时,不会报错而会得到None值,它适用在程序 中用户若输入的是我们没有准备的值时可以作出合理的反应。
print(stu_dict.get('name'))
输出>>: Mary
print(stu_dict.get('id'))
输出>>: None
setdefault方法与get方法类似,可以获得给定键的值,除此之外它还能在字典中不含有给定键的情况下设定相应的键值。
(1)获取键的值
print(stu_dict.setdefault('name'))
输出>>: Mary
print(stu_dict.setdefault('id'))
输出>>: None
(2)设定键值
dict.setdefault()方法在设定键值时,具体分为以下几种情况:
stu_dict.setdefault('id', '001')
print(stu_dict)
输出>>: {'name': 'Mary', 'age': 20, 'gender': 'female', 'id': '001'}
stu_dict.setdefault('name', 'Alice')
print(stu_dict)
输出>>: {'name': 'Mary', 'age': 20, 'gender': 'female'}
可以看到,这里基于dict.setdefault()方法将 name 设置成 Alice。实际上并没有改变字典,stu_dict 字典中的 name 值仍然是 Mary。
更多dict.setdefault()方法的介绍可以参考博客: