python学习day06
1.内容补充
1.列表
-
反转 reverse
v=[11,22,33,44,55]
v.reverse()
print(v) -
排序 sort
v=[22,55,66,8,22,0,11,33]
v.sort(reverse=False)# reverse默认是False,是从小到大排序
v.sort(reverse=True)#true代表从大到小排序
print(v)
2.字典
-
get:用于判断某个元素是否在字典中
v={'k1':'v1','k2':'v2','k3':'v3'}
b=v.get('k1')
print(b)
b=v.get('k111111')
print(b)# 没有这个值就会输出:none,表示没有 -
update 存在的就更新,不存在就是添加
-
pop 删除
3.列题:是否包含敏感字符
-
str 中用in进行判断
-
list/tuple
-
字典
-
判断是否在keys中
v={'k1':'v1','k2':'v2','k3':'v3'}
if 'k1' in v: #默认的是进行键值是否在字典中的判断
print('存在') -
判断是否在values中
#方法一: 循环判断
v={'k1':'v1','k2':'v2','k3':'v3'} #判断v1是否在字典的values中
for i in v.values():
if i=='v1':
print ('存在')
#方法二:
v={'k1':'v1','k2':'v2','k3':'v3'}
if 'v1' in list(v.values()): ### 强制转换成为列表
print('存在')
-
判断是否在键值对中
#判断'k1':'v1'键值对是否在字典中
v={'k1':'v1','k2':'v2','k3':'v3'}
value=v.get('k1') #利用get取k1对应的值,判断取出的值是否是v1
if value=='v1':
print('存在')
else:
print('不存在')
-
2.集合
1.定义
-
集合的表达方式为 v=set()
-
集合的特点:
-
1.无序
-
2.不重复
-
2.集合独有的功能
-
update 存在就更新,不存在就添加,可以进行批量添加
-
add 增加
-
discard 删除
### update add discard都是对集合本身进行的操作,不需要一个新的值接收
### 交集,并集,差集,对称差集需要一个新的值接收
-
交集 .intersection()
-
并集 .union()
-
差集 v.difference() ## 取v中有的后边没有的
-
对称差集 .symmetric_difference() ## 取两个分别都没有的
-
注意:对于取交集,并集,差集等后边内容可以是列表,元组,也可以是集合
3.集合公共的功能
-
len
-
for循环
4.集合的嵌套
-
列表,集合和字典是可变的,所以不可以将他们嵌套进集合中,同时也不可以用他们当字典中的键值
-
hash(哈希): 因为内部会将值进行哈希算法并得到一个数值,方便用于快速查找
-
特殊情况:
-
false默认会是0
-
true默认会是1
-
有相同的时候回覆盖掉之前的值
-
3.内存问题
1.id 查看内存地址
格式: val=id(v)
2.内存的两个重点
-
重新赋值(结果不会改)
-
内部修改(结果改)
-
例题一
-
例题二
-
内部修改
-
赋值
-
-
-
例如:: a=1,b=1,按理说他们的内存位置是不同的,但是因为python中的算法机制,他们的内存位置是相同的,不会开辟新的内存地址
-
在python中
-
1.整型: 在-5~256之间的python会有自己的小数据池,所以不会改变内存地址
-
2.字符串:包含特殊符号的并且乘以大于1 的数字会改变内存地址
-
3.==和is的区别
-
==是比较值
-
is是比较内存位置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理