doraemon的python 集合

day06 数据类型 集合

今日内容

  • 集合

  • 内存相关

  • 深浅拷贝

     

内容回顾和补充

  1. 内容回顾

  2. 补充 l列表

    • reverse 反转

v1 = [12,2,3,4,2,4]
v1.reverse()
print(v1)

sort 排序

v1 = [12,2,3,4,2,4]
v1.sort(reverse=False) #从小到大(默认)
v1.sort(reverse=True)  #从大到小
print(v1)

 

3.字典

  • keys/values/items

  • get

    info = {'k1':'v1','k2':'v2'}
    v2 = info.get("k1111",666)   #如果没有相应的键,返回666
    v2 = info.get("k1111")  #None就是python中的空
  • updata

    info = {'k1':'v1','k2':'v2'}
    info.update({'k3':'v3','k2':'666'})
    #不存在就添加,存在就更新

     

  • 判断一个字符中是否有敏感字符

    • str

v = "wqnmlgb"
if "nm" in v:
   print('有敏感字符')

 

list?tuple

v = ['as','fdsa','dafsdf','safa']

if 'as' in v:
   print('含有敏感字符')

 

dict

v = {'k1':'v1','k2':'v2','k3':'v3 '}
#默认按照键判断,即:判断X是否是字典的键
if 'x' in v:
   pass

#青砍断:k1是否在其中
if 'k1' in v:
   pass
#请判断v2是否在其中
#方式一
flag ='不存在'
for v in v.values():
   if v == 'v2':
       flag ='存在'
print('存在')
#方式二:
if 'v2' in list(v.values())#强制转化成列表
pass
#请判断:k2:v2是否在其中
values = v.get('k2')
if values == 'v2':
   print('存在')
else
print('不存在')
  • 练习题

#让用户输入任意字符,然后是否包含判断此字符是否包含有指定的敏感字符

 

 

内容详细

  1. 集合(set)

v = {1,2,3,4,5,6,7,99,100}

#疑问:v = {}  是空字典还是空集合     答案:空字典
v = set()  #空集合
  • 独有功能

    • add

    • discard

    • update

    • intersection

    • union

    • difference

  • 公共功能

    • len

    • 索引[无]

    • 步长[无]

    • 切片[无]

    • for循环

    • 删除[无]

    • 修改[无]

2.内存相关

  • 例子一

  • v1 = [11,22,33]
    v2 = [11,22,33]
    
  • 例子二

  • v1 = [11,22,33,44]
    v1 = [11,22,33]
    
  • 例子三

  • v1 = [11,22,33]
    v2 = v1
    
    #练习1(内部修改)
    v1 = [11,22,33]
    v2 = v1
    v1.append(666)
    print(v2)  #含有666
    
    #练习2(赋值)
    v1 = [11,22,33]
    v2 = v1
    v1 = [1,2,3,4]
    print(v2)
    
    #练习3(重新赋值)
    v1 = 'alex'
    v2 = v1
    v1 = 'oldboy'
    print(v2)
        
    
  • 例子四

  • v = [1,2,3]
    values = [11,22,v]
    
    #练习1
    v.append(9)
    print(values) #[11,22,[1,2,3,9]]
    
    #练习2
    values[2].append(999)
    print(v) #[1,2,3,999]
    
    #练习3
    v = [1,2,3]
    values = [11,22,v]
    v = 999
    print(values) #没改变
    
  •  

  • 问题:==与is的区别

    ==比较的是值

    is比较的是内存地址

走你今儿

  • 列表

    • reverse

    • sort

       

  • 字典

    • get

    • update

  • 集合

    • add

    • discard

    • update

    • intersection

    • union

    • difference

  • 特殊

    • 嵌套:集合/字典的key

    • 空:None

    • 空集合

       

  • id

  • type

  • 嵌套的应用

    • 赋值

    • 修改内部元素:列表/字典/集合

原文地址:https://www.cnblogs.com/doraemon548542/p/11138355.html