1. Python 之 if

1. 判断一个字符串中是否有敏感字符?

  • str
  • v = ['alex','bing']
    if "bing" in v:
        print("含敏感")
    
  • list/tuple
  • v = ['alex','oldboy','藏老四','利奇航'] 
    if "利奇航" 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(flag) 
    
    # 方式二: 
    if 'v2' in list(v.values()):  # 强制转换成列表 ['v1','v2','v3']
        pass 
    # 请判断:k2:v2 是否在其中? 
    value = v.get('k2') 
    if value == 'v2': 
        print('存在') 
    else:
        print('不存在')

2. == 和 is 的区别

== 用于比较是否相等
is 用于比较内存地址是否一致

3. 内存

1.一般情况下 内存开辟两个新地址
v1 = 10
v2 = 10
# 按理 v1 和 v2 应该是不同的内存地址。
不开辟新地址(特殊情况): 
1. 整型: -5 ~ 256  两个相同的整数只开辟一份内存,当地址引用为0时,内存自动删除
2. 字符串:"alex",'asfasd asdf asdf d_asdf ' ----"f_*" * 3 - 重新开辟内存。

重新开辟地址:
1.对于元组、字典、列表、集合以及range、map等容器类对象,值一样,内存却不是保存一份
2.同一个列表 或者元组 中,大的整数 在内存中会保存同一个地址
3.对于实数(有理数、无理数)来说(不包括-5~256),地址是不同的
4.整数的话 -5 以下内存另开辟,大于 -5 的正整数内存地址一样,实验到了百亿两个地址一样
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注