python学习day06

1.内容补充

1.列表

  1. 反转 reverse

    v=[11,22,33,44,55]
    v.reverse()
    print(v)

     

  2. 排序 sort

    v=[22,55,66,8,22,0,11,33]
    v.sort(reverse=False)# reverse默认是False,是从小到大排序
    v.sort(reverse=True)#true代表从大到小排序
    print(v)

     

2.字典

  1. get:用于判断某个元素是否在字典中

    v={'k1':'v1','k2':'v2','k3':'v3'}
    b=v.get('k1')
    print(b)
    b=v.get('k111111')
    print(b)# 没有这个值就会输出:none,表示没有
  2. update  存在的就更新,不存在就是添加

  3. pop 删除

3.列题:是否包含敏感字符

  1. str 中用in进行判断

  2. list/tuple

  3. 字典

    • 判断是否在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.集合独有的功能

  1. update  存在就更新,不存在就添加,可以进行批量添加

  2. add  增加

  3. discard 删除

### update add discard都是对集合本身进行的操作,不需要一个新的值接收
### 交集,并集,差集,对称差集需要一个新的值接收

 

  1. 交集 .intersection()

  2. 并集 .union()

  3. 差集 v.difference()  ## 取v中有的后边没有的

  4. 对称差集 .symmetric_difference()  ## 取两个分别都没有的

  5. 注意:对于取交集,并集,差集等后边内容可以是列表,元组,也可以是集合

3.集合公共的功能

  1. len

  2. 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是比较内存位置

posted @   徐凯K  阅读(104)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示