- 字典的key不能重复, 如果重复只会保留一个
- 字典的value可以重复, 因为通过不同的key获取value
- 字典的key不能出现任何可变的数据类型, 保证key的唯一性
- 字典的key一般都是选取字符串类型居多
1.字典的常见操作1
-
查看元素
dict[key]
-
修改元素
dict[key] = new_value
-
添加元素
dict[new_key] = new_value
-
删除元素
-
del
del dict[key]
-
clear()
-
2.字典的常见操作2
- len
- keys
- values
- items
- in not in 判断key是否存在
3.字典的三种取值方式
- 通过key获取value
- 通过setdefault
- 通过get
# 字典
info_dict = {'name': '小明', 'age': 20, 'no': '007'}
# 01: value = dict[key]
# value = info_dict['name']
# print(value)
# 02:setdefault
# 格式: dict.setdefault(k, default)
# dict.setdefault(k)
# 0201: 如果key存在, 返回对应的value
# value = info_dict.setdefault('name')
# print(value)
# 0202: 如果key不存在, 返回None , 并且会把新的key和None保存到字典中
# value = info_dict.setdefault('name1')
# print(value)
# print(info_dict)
# dict.setdefault(k, default)
# 0203:如果key存在, 返回对应的value
# value = info_dict.setdefault('name', '哈哈')
# print(value)
# 0204:如果key不存在, 而且设置defaule, 返回defaule , 并且会把新的key和defaule保存到字典中
# value = info_dict.setdefault('name1', '哈哈')
# print(value)
# print(info_dict)
# 03: get
# 格式: dict.get(k, default)
# dict.get(k)
# 0301: 如果key存在, 返回对应的value
# value = info_dict.get('name')
# print(value)
# 0302: 如果key不存在, 返回None, 字典没有任何变化
# value = info_dict.get('name1')
# print(value)
# print(info_dict)
# dict.get(k, default)
# 0303:如果key存在, 返回对应的value
# value = info_dict.get('name', '哈哈')
# print(value)
# 0304:如果key不存在, 而且设置defaule, 返回defaule , 字典没有任何变化
value = info_dict.get('name1', '哈哈')
print(value)
print(info_dict)
- 空值类型
- None
- NoneType
- 如果想创建变量但是还不想赋值可以使用None
4.遍历
-
字典的遍历
-
key
-
value
-
items
-
如果同时获取key和value
for k, v in dict.items(): pass
-
-
如果循环遍历str list tuple 得到对应的元素的同时也获取他的索引
for i, value in enumerate(str 或者 list 或者 tuple): pass
5.集合的定义
-
特点:
- 保存任意数据类型的数据, 但是不能有可变的类型
- 它是一个变的数据类型
- 它是一个无序的数据类型
-
格式:
set = {元素1, 元素2, ...}
-
空集合:
set()
-
for循环
for value in set: pass
6.集合的相关操作
-
添加
- add
- list.append
- update
- list.extend
- add
-
删除
-
pop
- 随机的删除一个元素
-
remove
- 有删除, 没有报错
-
discard
- 有删除, 没有不报错
-
7.集合的作用
-
去重
set(容器类型)
-
交集
set1 & set2
-
并集
set1 | set2