Python开发基础 day4 布尔运算集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
技术分享



以上是关于Python开发基础 day4 布尔运算集合的主要内容,如果未能解决你的问题,请参考以下文章

Python(day4)集合布尔类型

Python全栈开发day4

day4-python基础-运算符

Day4—python基础—字典and集合

python学习-基础-day4-字典和集合

python初识 - day4