2026-04-08 打卡第 5 天

复制代码
# 2026-04-08 打卡第 5 天
# 集合交集 &,共有,没有共有部分返回空集合
'''
s1 = {1,2,3,4}
s2 = {2,4,5,6}
print(s1 & s2)
# 输出结果:{2, 4}
'''

# 集合并集 |,全部
'''
s1 = {1,2,3,4}
s2 = {2,4,5,6}
print(s1 | s2)
# 输出结果:{1, 2, 3, 4, 5, 6}
'''

# ----------
# 类型转换
# int() 转换为整型,只能转换纯数字组成的字符串
# 浮点型强制转整型,只保留整数部分,小数点后面不取
'''
a = 1.2
print(int(a))
# 输出结果:1
'''

# float() 转换为浮点型
'''
a = 10
print(float(a))
# 输出结果:10.0
'''

# str() 转换为字符串类型,任何类型都可以转换为字符串类型
'''
a = 10
s = str(a)
print(s,type(s))
# 输出结果:10 <class 'str'>
'''

# eval() 执行运算并返回运算值,可以实现列表、字典、元组和str的转换,去除引号
'''
print(10 + 10)
# 输出结果:20
print(eval('10+10'))
# 输出结果:20
'''
'''
li = '[1,2,3,4]'
print(li,type(li))
print(eval(li))
# 输出结果:[1,2,3,4] <class 'str'>
# [1, 2, 3, 4]
'''

# list() 将可迭代对象转换列表,str、元组、字典、集合转换为列表
'''
tu = (1,2,3,4)
print(tu,type(tu))
tu1 = list(tu)
print(tu1,type(tu1))
# 输出结果:(1, 2, 3, 4) <class 'tuple'>
# [1, 2, 3, 4] <class 'list'>
'''

# 深浅拷贝
# 赋值,数据共享
'''
li = [1,2,3,4]
print(li)
li2 = li
print(li2)
li.append(5)
li3 = li2
print(li,li2,li3)
# 输出结果:[1, 2, 3, 4]
# [1, 2, 3, 4]
# [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
'''

# 浅拷贝,数据半共享,会创建新的对象,拷贝第一层数据,外层地址不同,嵌套层会指向原来的内存地址,内层地址相同
# 需要导入import copy
# 优点:拷贝速度快,效率高,占用空间少
'''
import copy
li = [1,2,3,[4,5,6]]
# 查看内存地址:id(),内存地址不一样,说明不是同一个对象
print(li,"内存地址:" , id(li))
li2 = copy.copy(li)
print(li2,"内存地址:" , id(li2))
# 外层新增元素
li.append(8)
print(li,"内存地址:" , id(li))
print(li2,"内存地址:" , id(li2))
# 嵌套层新增元素
li[3].append(7)
print(li,"内存地址:" , id(li[3]))
print(li2,"内存地址:" , id(li2[3]))
# 输出结果:[1, 2, 3, [4, 5, 6]] 内存地址: 2309276284480
# [1, 2, 3, [4, 5, 6], 8] 内存地址: 2309276270528
# [1, 2, 3, [4, 5, 6]] 内存地址: 2309276284480
# [1, 2, 3, [4, 5, 6, 7], 8] 内存地址: 2309273681984
# [1, 2, 3, [4, 5, 6, 7]] 内存地址: 2309273681984
'''

# 深拷贝,数据完全不共享,外层的对象和内部的元素都拷贝一遍,只影响自己本身,跟原来对象没关系
# 需要导入模块,import copy
'''
import copy
li = [1,2,3,[4,5,6]]
li2 = copy.deepcopy(li)
print(li,"内存地址:" , id(li))
print(li2,"内存地址:" , id(li2))
# 外层新增元素
li.append(8)
print(li,"内存地址:" , id(li))
print(li2,"内存地址:" , id(li2))
# 嵌套层新增元素
li[3].append(7)
print(li,"内存地址:" , id(li))
print(li2,"内存地址:" , id(li2))
# 输出结果:[1, 2, 3, [4, 5, 6]] 内存地址: 2110459982208
# [1, 2, 3, [4, 5, 6]] 内存地址: 2110459967872
# [1, 2, 3, [4, 5, 6], 8] 内存地址: 2110459982208
# [1, 2, 3, [4, 5, 6]] 内存地址: 2110459967872
# [1, 2, 3, [4, 5, 6, 7], 8] 内存地址: 2110459982208
# [1, 2, 3, [4, 5, 6]] 内存地址: 2110459967872
'''
相关推荐
花酒锄作田17 小时前
Pydantic校验配置文件
python
hboot18 小时前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi1 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi1 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
曲幽1 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
用户8358086187911 天前
基于 Self-RAG 与列表级重排序的进阶 RAG 系统设计与实现
python
Warson_L2 天前
Python `Annotated` 与 LangGraph Reducer 学习笔记
python
韩师傅2 天前
海天线算法的前世今生
python·计算机视觉
韩师傅2 天前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
Warson_L2 天前
LangGraph的MessageState and HumanMessage
python