# 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
'''
2026-04-08 打卡第 5 天
I疯子2026-04-09 12:20
相关推荐
游乐码2 小时前
c#ArrayListC+++Python2 小时前
Python MCP Server 最简实现一个人旅程~2 小时前
旧笔记本电脑安装win10精简版LTSB&win10LTSC&linuxmint作为三系统的操作指导书(以DELL n4020为例)MinterFusion2 小时前
如何在openKylin 2.0 SP2中安装Qt(v0.2.2)(上)zhuhezhang2 小时前
一个用python开发的文本对比工具智算菩萨2 小时前
【Python图像处理】5 Pillow图像处理与格式转换开开心心就好2 小时前
支持自定义名单的实用随机抽签工具前端小D2 小时前
JS模块化无限码力2 小时前
华为OD技术面真题 - JAVA开发- spring框架 - 7