布尔值

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基础之布尔运算、集合的更多相关文章

  1. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  2. Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...

  3. Python基础篇(set集合)

    Python基础篇(set集合,深浅拷贝) set集合是Python的一个基本类型,一般是不常用.set中的元素是不重复的.无序的里边 的元素必须是可hash的比如int,str,tuple,bool ...

  4. 3.python基础补充(集合,collection系列,深浅拷贝)

    一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复 ...

  5. Python基础数据类型之集合以及其他和深浅copy

    一.基础数据类型汇总补充 list  在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,, ...

  6. Python基础-字符串、集合类型、判断、深拷贝与浅拷贝、文件读写

    字符串 1.定义三个变量: 2.交换两个变量值 1)引入第三个变量: 2)Python引入第三方变量: 3)不引入第三方变量: 3. isalpha 是否是汉字或字母 4.Isalnum  是否是汉字 ...

  7. Python 全栈开发二 python基础 字符串 字典 集合

    一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...

  8. Python基础 之 set集合 与 字符串格式化

    数据类型的回顾与总结 可变与不可变1.可变:列表,字典2.不可变:字符串,数字,元组 访问顺序:1.直接访问:数字2.顺序访问:字符串,列表,元祖3.映射:字典 存放元素个数:容器类型:列表,元祖,字 ...

  9. python基础知识 -- set集合

    Set集合:是Python的一个基本数据类型.一般不是很常用.Set中的元素是不重复的,无序的,里面的元素必须是可hash的(int,str,tuple,bool).我们可以这样来计Set就是dict ...

随机推荐

  1. 初学:react-native 轮播图

    参考资料:http://reactscript.com/react-native-card-carousel-component/ import React, {Component} from 're ...

  2. Cocos2d-x v3.1项目创建(三)

    Cocos2d-x v3.1项目创建(三) Cocos2d-x官方为我们提供了用于创建.编译.运行和部署的一套命令行的工具集,也就是上篇文章中我们所提到的Cocos2d-Console,它位于我们的引 ...

  3. Azure进阶攻略 | 该如何唤醒你?因内核超时而沉睡的Linux虚拟机!

    周五下午,当你收拾好东西准备下班,奔赴 Happy Hour 时,突然接到开发团队的电话: 对方:伙计救命啊,我在搭建开发环境,但 Azure 上的 Linux 虚拟机无法启动! 你(心里想着:你要加 ...

  4. Azure 7 月新公布

    Azure 7月新发布:Cosmos DB,事件中心捕捉功能,Hybrid Connections,流量管理器快速故障转移功能. 您现有的 DocumentDB 资源现已作为 Azure 门户上 Az ...

  5. 显示C++ vector中的数据

    C++ 中的vector是一个容器数据类型,不能使用cout直接显示容器中的值. 以下程序中,myvector 是一个vector数据类型.将myvector替换为需要输出的vector. for(i ...

  6. Git基本操作(add,commit的理解)

    1.创建仓库 ——创建工作目录(Working Directory):git三种副本:工作目录(Working Direcotry),暂存区域(Stage,索引(Index)),仓库(History) ...

  7. Linux 命令后台运行

    写这个随笔主要是每次Deepin用shadowsocks的时候总需要命令行启动,然后一个终端就一直开着总是点错了就给关了. (不知道为什么我的Deepin的shadowsocks-qt5总是连接不上的 ...

  8. 谷歌浏览器模拟手机浏览器且指定IP运行

    1.背景 因为现在项目是要做分布式,而以前使用谷歌浏览器模拟手机运行做的分布式,是指定在某台机器运行是通过Jenkins配置,来指定服务器,但是这样有一个问题,如果大家都同时配置到某台电脑,那台服务器 ...

  9. P1316 丢瓶盖

    题目描述 陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢? 输入输出 ...

  10. SecureCRT 设置