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
'''
相关推荐
布吉岛的石头3 分钟前
Java 程序员第 29 阶段-01:大模型微调入门:小样本业务适配方案
java·开发语言·人工智能
松☆4 分钟前
torchair:昇腾PyTorch适配层生态协作深度解读
人工智能·pytorch·python
高林雨露4 分钟前
Java 转 Kotlin 对照开发指南
java·开发语言·kotlin
__zRainy__5 分钟前
uni-app 全局容器实战系列(二):Vite 虚拟模块
windows·uni-app
dhjabc_17 分钟前
从零开发一个功能强大的 Markdown 预览器
python·开源软件
前端若水9 分钟前
使用 IndexedDB 在客户端存储对话记录
java·前端·人工智能·python·机器学习
Omics Pro13 分钟前
前沿学科:量子生物学!
大数据·数据库·人工智能·windows·redis·量子计算
我不是懒洋洋14 分钟前
大语言模型(LLM)入门:从Transformer到ChatGPT
c语言·开发语言·c++
MY_TEUCK15 分钟前
【Java 后端 | 微服务远程调用实战】Nacos + OpenFeign 从入门到公共模块抽取
java·开发语言·微服务
小许同学记录成长23 分钟前
原始 IQ 数据时频图生成
python·算法