字典是python当中的一种数据类型,其结果跟之前学过的列表、元组有很大区别,字典内部是一个一对一映射的数据关系。
字典语法:dictionary = {key1:value1, key2:value2, ...}
- key是字典中的键,value是对应的值
- 字典必须用大括号{},key与对应的value用“:”连接,中间用“,”断开。
- key必须是数值、字符串、元组三种类型,其特点就是不可变,key在字典中是唯一的
- value可以是任何数据类型.
一、创建字典
1.1 基于dict函数创建
stu_dict = dict(name='Mary', age=20, gender='female')
1.2 基于{}创建
stu_dict = \
{
'name': 'Mary',
'age': '20',
'gender': 'female'
}
1.3 基于空字典添加元素创建
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 # 删除词典
五、字典的常用方法
5.1 dict.items()方法
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)
输出结果如下:
5.2 dict.get()方法
当get访问一个不存在的键时,不会报错而会得到None值,它适用在程序 中用户若输入的是我们没有准备的值时可以作出合理的反应。
print(stu_dict.get('name'))
输出>>: Mary
print(stu_dict.get('id'))
输出>>: None
5.3 dict.setdefault()方法
setdefault方法与get方法类似,可以获得给定键的值,除此之外它还能在字典中不含有给定键的情况下设定相应的键值。
(1)获取键的值
print(stu_dict.setdefault('name'))
输出>>: Mary
print(stu_dict.setdefault('id'))
输出>>: None
(2)设定键值
dict.setdefault()方法在设定键值时,具体分为以下几种情况:
- 当键不存在时,setdefault方法返回设定值并且更新字典。
stu_dict.setdefault('id', '001')
print(stu_dict)
输出>>: {'name': 'Mary', 'age': 20, 'gender': 'female', 'id': '001'}
- 当键存在时,返回其对应的值,但是不改变字典(注:update方法是会覆盖到旧的值)
stu_dict.setdefault('name', 'Alice')
print(stu_dict)
输出>>: {'name': 'Mary', 'age': 20, 'gender': 'female'}
可以看到,这里基于dict.setdefault()方法将 name 设置成 Alice。实际上并没有改变字典,stu_dict 字典中的 name 值仍然是 Mary。
更多dict.setdefault()方法的介绍可以参考博客:
- Python字典中的setdefault方法:https://blog.csdn.net/u012856866/article/details/118730348
六、字典列表排序
python 列表(list)排序:https://blog.csdn.net/u012856866/article/details/120742800
七、collections.defaultdict类
Python之defaultdict方法详解:https://blog.csdn.net/u012856866/article/details/132428597文章来源:https://www.toymoban.com/news/detail-543981.html
八、实现字典一个key对应多个value
Python之字典一个key对应多个value:https://blog.csdn.net/u012856866/article/details/132429336文章来源地址https://www.toymoban.com/news/detail-543981.html
参考资料
- Python 字典(Dictionary)操作详解:https://www.jb51.net/article/47990.htm
到了这里,关于Python之字典(dict)基础知识点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!