字典
1、字典的基本使用
字典使用{}来表示,每一条数据都是一个键值对{key: value},每个元素用逗号隔开
字典的键值是唯一的,不能重复,如果重复就是修改前一个的数据
字典的键只能是不可变类型数据,一般使用字符串数据
不可变类型数据:
- 所有数值类型(int、float、bool)
- 字符串(str)
- 元组(tuple)
可变类型数据:(意味着有增删查改的方法)
- 列表(set)
- 字典(dict)
- 集合(set)
# 定义一个字典
dict1 = {"name": '小王', "age": 24, "height": 1.75}
res = dict1["age"]
print(res)
2、字典的增删改查
增加:
- 通过键进行赋值
- update:一次性往字典中添加多个元素
修改:
- 通过键进行赋值(有则改,无则增)
删除:
- pop:指定键进行删除
- popitem:删除最后一个加入字典的元素,以元组的形式返回键值对
- clear:清空字典
查找:
- 通过键进行查找
- get:通过键查找,如果键不存在,不会报错,返回None
注意:如果通过键进行查找,不是字典内的键会报错
# ----------------------增----------------------------
dic = {}
# 1、通过键进行赋值
dic['skill'] = 'python'
print(dic)
# 2、update:
dic.update({"name": "白白", "age": 18})
print(dic)
# ----------------------改----------------------------
dic2 = {"name": "小王", "age": 18}
# 1、通过键进行赋值
dic2["name"] = "小花"
print(dic2)
# ----------------------删除----------------------------
dic3 = {"name": "小王", "age": 18}
# pop:指定键进行删除
rec = dic3.pop("age")
print(rec)
dic3.update({"a1": 101, "a2": 103, "a4": 105})
rec12 = dic3.popitem()
print("rec12删除的是:", rec12)
print(dic3)
print(dic3.clear())
# ----------------------查找----------------------------
dic4 = {"name": "小王", "age": 18}
# 1、通过键进行查找
# res = dic4["hobby"]
# print("查找的结果是:", res)
# 2、get
print(dic4.get("age"))
print(dic4.get("hobby"))
3、字典的其他方法
- keys:获取字典中的所有键
- values:获取字典中的所有值
- items:同时获取字典的键值对,(键值对会以元组的形式展现)
- 使用场景:和for循环一起使用
dict1 = {"name": "小王", "age":18, "height":187, "gender": "男"}
# 获取字典中的所有键
print(dict1.keys(), type(dict1.keys()))
print(list(dict1.keys()))
print(type(dict1.keys()))
res = list(dict1.keys())
print(res, type(res))
# 获取字典中的所有值
res2 = list(dict1.values())
print(res2, type(res2))
# items:同时获取字典的键值对
res3 = list(dict1.items())
print(res3, type(res3))
4、字典的三种定义方法
第一种:dict1 = {"name": "小王", "age":18, "height":187, "gender": "男"}
第二种:dict2 = dict([('name', '小王'), ('age', 18), ('height', 187), ('gender', '男')])
第三种:dict3 = dict(name = "小王", age = 18, gender = "男")
集合
1、集合的基本使用
集合(set)使用{}来定义,{}代表空字典,空集合用set()来定义
集合是可变类型(有增删查改的方法,但一般不用)
集合内的元素是唯一的,可以用来去重
集合内的元素是无序的(没有下标索引)
集合内只能存放不可变类型
随机数
random:生成随机数的官方库
import random
# 生成随机数(包含边界值)
res = random.randint(0, 5)
print(res)
# 生成随机小数
res2 = random.random()
print(res2)
# 随机生成10-20之间的小数
res3 = random.uniform(10, 20)
print(res3)
# 从列表中随机选择一个数据
li = [11, 22, 33, 44, 55, 66]
res4 = random.choice(li)
print(res4)
数据类型总结
数值:int float bool
序列:str list tuple dict set
数据类型的可变和不可变
不可变类型:数值类型、字符串、元组
可变类型:列表、字典、集合
区分可变和不可变类型:定义一个集合,把数据放在集合内看是否报错;看修改前后的id是否一致