🧡🧡🧡这篇是关于Python中字典的讲解,涉及到以下内容,欢迎点赞和收藏,你点赞和收藏是我更新的动力🧡🧡🧡
1、字典究竟是一个什么东西?
2、字典和之前所讲解的序列类型有什么区别?
3、字典存在的意义是什么?
4、字典中存在的操作?
5、列表还有一些其他操作,该怎么样玩转列表?
文章目录
1、字典概念
对比之前学过的序列类型
无序如何体现?
dict1 = {'name': 'song', 'id': 450, 'score': 100}
print(dict1)
2、字典的定义
2.1、key-value方式定义
dict1 = {'name': 'song', 'id': 450, 'score': 100}
print(dict1, type(dict1))
2.2、fromkeys()方法
fromkeys()是静态方法,类和对象都可以调用
dict1 = dict.fromkeys(('name', 'id'), ('chris', 4502))
print(dict1, type(dict1))
dict1 = {'id': 450} # 创建一个字典
dict2 = dict1.fromkeys(('name', 'id'), ('chris', 4502)) # 通过实例化对象创建一个字典
print(dict2, type(dict2))
2.3、定义字典注意点
- 字典中的key必须不能重复
dict1 = {'name': 'chris', 'id': 450, 'score': 100, 'id': 200}
print(dict1)
- key必须是不可变类型
可变数据类型和不可变数据类型判定依据?
假设你改变了这个值,这个对象的地址发生改变这就是不可变数据类型,对象地址没有发生改变就是可变数据类型
dict1 = {'name': 'chris', 'id': 450, 'score': 100, [1, 2, 3]: 10000}
print(dict1)
为什么产生上述注意点?
简单的存储过程
简单的查找过程
3、字典存在的意义
4、字典的增
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
# 字典的增,就是指定key不存在时,就会新增key-value
dict1['address'] = 'China'
5、字典的删
5.1、del语句
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
del dict1['id']
print(dict1)
del dict1
print(dict1) # NameError: name 'dict1' is not defined
5.2、pop()
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
# pop()方法删除指定的key以及value,并且返回对应的value
val1 = dict1.pop('score')
print(val1)
# 假设指定的key不存在,可以指定返回一个默认值,如果没有指定默认值,就会报错
val2 = dict1.pop('iddd', 2000)
print(val2)
val3 = dict1.pop('scoreeee')
print(val3)
5.3、popitem()
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
val1 = dict1.popitem()
print(val1)
val2 = dict1.popitem()
print(val2)
5.4、clear()
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
dict1.clear()
print(dict1)
clear()方法和del语句的区别
6、字典的改
str1 = 'hello'
str2 = 'word'
print(str1 * 10)
print(str2 * 5)
7、字典的查
7.1、获取单个值
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
print(dict1['name'])
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
# 获取key对应的value
print(dict1.get('name'))
# 如果key不存在,而且没有指定default value,则返回None
print(dict1.get('namename'))
# 如果key不存在,指定了default value,则返回设置的默认值
print(dict1.get('namename', 100000))
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
# 获取key对应的value
print(dict1.setdefault('name'))
# 如果指定的key不存在,则设置给定的默认值,原字典中会新增这对key-value
print(dict1.setdefault('namename', 1000000))
7.2、获取所有的值
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
print(dict1.values())
7.3、获取所有的键
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
print(dict1.keys())
7.4、获取所有的键值对
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
print(dict1.items())
注意:在Python2和Python3中获取key、value、key-value之间存在区别
str1 = 'hello'
str2 = 'word'
print(str1 * 10)
print(str2 * 5)
字典视图存在的优势?
当字典发生改变时, view objects会跟着发生改变
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
print(dict1.values())
print(dict1.keys())
print(dict1.items())
# 字典视图可以直接遍历
for value in dict1.values():
print(value)
# 字典视图可以转换为list
print(list(dict1.values()))
# 字典视图可以转换为iter
print(iter(dict1.items()))
8、字典的一些其他操作
8.1、len()
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
# 计算key-value的个数
print(len(dict1))
8.2、判定
dict1 = {'name': 'chris', 'id': 450, 'score': 100}
# 判定字典的key中是否有name
print('name' in dict1)
😁😁😁觉得对自己有帮助的小伙伴可以点个赞哦😁😁😁
👉👉👉有误的地方也可以在评论区讨论哦👈👈👈
往期推荐
🚀🚀🚀全网最全Python系列教程(非常详细)—数值篇讲解(学Python入门必收藏)🚀🚀🚀
🚀🚀🚀全网最全Python系列教程(非常详细)—字符串讲解(学Python入门必收藏)🚀🚀🚀
🚀🚀🚀全网最全Python系列教程(非常详细)—列表讲解(学Python入门必收藏))🚀🚀🚀
🚀🚀🚀全网最全Python系列教程(非常详细)—元组讲解(学Python入门必收藏)))🚀🚀🚀