python布尔类型运算_python基础之布尔运算、集合

布尔值

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}

{'a', 'p', 'l', 'e'}

{'pear', 'apple'}

{'pear', 'apple'}

{'pear', 'apple'}

创建空集合

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值