zoukankan      html  css  js  c++  java
  • Python开发基础 day4 布尔运算、集合

    布尔值

    True    真

    False    假

    所有的数据类型都自带布尔值,数据只有在0,None和空的时候为False。

    复制代码
    print(bool())
    print(bool())
    print(bool(''))
    print(bool(' '))
    print(bool(0))
    print(bool(None))
    
    输出结果
    False
    False
    False
    True
    False
    False
    复制代码

    not、or和and优先级

    优先级由高到低:not>>and>>or

    例1:先计算and,后计算or----->True and False为False,False or False为False,结果输出no

    复制代码
    if True and False or False:
        print('yes')
    else:
        print('no')

    输出结果
    no
    复制代码

    例2:先计算and,后计算or------->False and False为False,True and False为True,输出yes

    复制代码
    if True or False and False:
        print('yes')
    else:
        print('no')
    
    输出结果
    yes
    复制代码

    例3:先计算not,后计算and,最后计算or------>not True为False,False and False为False,False or False为False,输出no

    复制代码
    if not True and False or False:
        print('yes')
    else:
        print('no')
    
    输出结果
    no
    复制代码

    例4:先计算not False为True,再计算False and True为False,最后计算True or False为True,输出yes

    复制代码
    if True or False and not False:
        print('yes')
    else:
        print('no')
    
    输出结果
    yes
    复制代码

     

    集合

    集合是进行关系运算的,能够去除重复元素,而元素只能是不可变类型,另外,集合和字典一样,是无序的。

    创建集合

    复制代码
    s1={1,2,2,3,4}
    print(s1,type(s1))
    s2=set('apple')
    print(s2,type(s2))
    s3=set(['apple','apple','pear'])
    print(s3,type(s3))
    s4=set(('apple','apple','pear'))
    print(s4,type(s4))
    s5=set({'apple':'苹果','pear':'梨'})
    print(s5,type(s5))
    
    输出结果:(顺序可能不一样)
    {1, 2, 3, 4} <class 'set'>
    {'a', 'p', 'l', 'e'} <class 'set'>
    {'pear', 'apple'} <class 'set'>
    {'pear', 'apple'} <class 'set'>
    {'pear', 'apple'} <class 'set'>
    复制代码

    创建空集合

    s=set()
    print(type(s))

    交集

    复制代码
    s={1,2,'c',4,5}
    d={1,'a','b',4,5}
    
    print(s.intersection(d))
    或
    print(s & d)
    
    输出结果:
    {1, 4, 5}
    复制代码

    并集

    复制代码
    s={1,2,'c',4,5}
    d={1,'a','b',4,5}
    print(s.union(d))
    或
    print(s | d)
    
    输出结果:
    {'b', 1, 2, 4, 5, 'a', 'c'}
    复制代码

    差集

    复制代码
    s={1,2,'c',4,5}
    d={1,'a','b',4,5}
    print(s.difference(d))
    或
    print(s - d)
    
    输出结果
    {'c', 2}
    复制代码

    对称差集

    复制代码
    s={1,2,'c',4,5}
    d={1,'a','b',4,5}
    print(s.symmetric_difference(d))
    或
    print(s ^ d)
    
    输出结果:
    {'b', 2, 'a', 'c'}
    复制代码

    清空集合内元素

    s={1,2,'c',4,5}
    s.clear()
    print(s)
    
    输出结果
    set()

    求差集并赋值

    s={1,2,'c',4,5}
    d={1,'a','b',4,5}
    s.difference_update(d)
    
    输出结果
    {2, 'c'}

    更新

    复制代码
    s1={'a',1}
    s2={'a','b',3,1}
    s1.update(s2)
    print(s1)
    
    输出结果
    {1, 3, 'a', 'b'}
    复制代码

    添加

    复制代码
    s1={'a',1}
    s1.add(3)
    s1.add('a')
    print(s1)
    
    输出结果
    {1, 3, 'a'}
    复制代码

    删除

    复制代码
    s1={'a',1}
    s1.discard('a')     #当没有该元素时候不报错    
    #s1.remove('aa')    #当没有aa元素时候会报错
    #s1.pop()            #随机删除
    print(s1) 
    
    输出结果:
    {1}
    复制代码

    判断

    复制代码
    s1={'a',1}
    s2={'a','b',3,1}
    print(s1.issubset(s2))   #判断s1是否是s2的子集,如果s1等于s2那么互为子集
    print(s2.issuperset(s1))  #判断s2是否是s1的超集
    print(s1.isdisjoint(s2))   #判断有没有集合,如果没有返回True
    
    输出结果
    True
    True
    False
    复制代码

    循环

    复制代码
    for i in s2:
        print(i)
    
    输出结果(无序)
    l
    e
    a
    p
    复制代码
  • 相关阅读:
    利用拦截器与自定义注解实现未登录拦截
    消息中间件activeMQ
    linux中redis的安装配置,后门漏洞修复及其攻击方法整合
    hibernate二级缓存
    初级程序员实战面试宝典(二)
    spring定时任务之-quartz调度器
    【微信小程序推广营销】教你微信小程序SEO优化,让你的小程序快人一步抢占先机
    ajax——CORS跨域调用REST API 的常见问题以及前后端的设置
    后台管理UI的选择
    微信小程序如何引入外部字体库iconfont的图标
  • 原文地址:https://www.cnblogs.com/bsxq/p/6994414.html
Copyright © 2011-2022 走看看