布尔值运算&集合
- 示例:
返回boolean
li = []
- li = {}
- li = ()
- if not li:
print(1)
- radiansdict.has_key(key) #如果键在字典dict里返回true,否则返回false
- 示例
所有的数据类型都自带布尔值,数据只有在0,None和空的时候为False
print(bool())
print(bool())
print(bool(''))
print(bool(' '))
print(bool(0))
print(bool(None))
print(bool(False))- 输出结果
False
False
False
True
False
False
False- 列表是空 all([]) -》True
列表中有值,有一个值是空或者False,就是all([]) -》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
布尔值运算&集合的更多相关文章
- Excel的布尔值运算
TRUE被当做1进行加减乘除,例:1-TRUE=0. FALSE被当做0进行加减乘除,例:1-FALSE=1.(当做除数时,会因为分母为0返回错误值)
- 【python系统学习10】布尔值
python的数据类型有好多个,前边写过字符串.整数和浮点数这三种. 本节来整理另一种简单数据类型--布尔值 布尔值(bool) 布尔值和其数据值 计算机可以用数据进行判断,若判断为真则执行特定条件中 ...
- Python基础之字符串,布尔值,整数,列表,元组,字典,集合
一.str字符串 1.capitalize字符串首字母大写 name = "json" v = name.capitalize() print(v) # 输出结果:Json 2.c ...
- JS基础_非布尔值的与或运算
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js非布尔值的与(&&)与或(||)运算
/** * 非布尔值的与(&&)与或(||)运算 * 1.先将其转换成布尔值再做运算,并且返回原值 * 2.与(&&)运算: * a.如果第一个值为true,则返回第二 ...
- 从源码看HashMap键值对集合
之前我们看过了两种类型的集合,ArrayList集合和LinkedList集合,两种集合各有优势,我们不具体说了,但是本篇要看的集合可以完成它们完成不了的任务.比如:现有一篇文章,要你统计其中出现了哪 ...
- 上篇:python的基本数据类型以及对应的常用方法(数字、字符串、布尔值)
为了日后便于查询,本文所涉及到的必记的基本字符串方法如下: "分隔符".join(字符串) #将字符串的每一个元素按照指定分隔符进行拼接.split("字符串&qu ...
- js中布尔值为false的六种情况
下面6种值转化为布尔值时为false,其他转化都为true 1.undefined(未定义,找不到值时出现) 2.null(代表空值) 3.false(布尔值的false,字符串"false ...
- python----运算符、布尔值
一.运算符: + - * / ** // % 1,. in ,not in 用法(判断某个东西是否在某个东西里面) name = '郑建文' 其中‘郑建文’是字符串, ‘郑’或‘建’或‘文’是一个 ...
随机推荐
- 详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程
Himi 原创, 欢迎转载,转载请在明显处注明! 谢谢. 原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——201 ...
- hibernate连接oracle12c数据库报:java.sql.SQLException: ORA-01017: 用户名/口令无效; 登录被拒绝。(用户名/口令在oracle客户端以及cmd命令都能登入)
报错信息: 2017-09-22 15:40:07,354 WARN [org.hibernate.cfg.SettingsFactory] - Could not obtain connection ...
- SQLyog Enterprise常用快捷键
1. SQL格式化 F12 格式化当前行所在的SQL Ctrl+F12 格式化选中的SQL Shift+F12 格式化所有SQL 2. 窗口操作 Ctrl+T 打开一个新的查询窗口 Alt+ ...
- dbt seed 以及base ephemeral使用
seed 可以方便的进行数据的导入,可以方便的进行不变数据(少量)以及测试数据的导入, base 设置为 ephemeral(暂态),这个同时也是官方最佳实践的建议 项目依赖的gitlab 数据可以参 ...
- stenciljs 学习六 组件开发样式指南
组件不是动作,最好使用名词而不是动词, 文件结构 每个文件一个组件. 每个目录一个组件.虽然将类似的组件分组到同一目录中可能是有意义的,但我们发现当每个组件都有自己的目录时,更容易记录组件. 实现(. ...
- 比jsonpath 更方便的json 数据查询JMESPath 使用
类似xml 的xpath json 有jsonpath 都是为了方便进行数据查询,但是jsonpath 的功能 并不是很强大,如果为了方便查询可以使用jmespath. 以下为简单使用: 查询格式 ...
- android 发送UDP广播,搜寻server建立socket链接
应用场景:client(手机.pc)须要搜寻所在局域网内的server并获得server地址. 方法简单介绍:client发送UDP广播,服务收到广播后得到clientip地址,然后向client发送 ...
- jquery append、prepend、before等等
1.jQuery append() 方法 jQuery append() 方法在被选元素的结尾插入内容. 实例 复制代码代码如下: $("p").append("Some ...
- gphoto2
连上usb线,系统会跳出detect到camera的提示,这里一定要选择“unmount”,否则会面的命令执行会有问题 hjs@ubuntu:~$ gphoto2 --auto-detect Mode ...
- bzoj 4025 二分图——线段树分治+LCT
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4025 线段树分治,用 LCT 维护链的长度即可.不过很慢. 正常(更快)的方法应该是线段树分 ...