一、集合

集合的作用一:关系运算
集合的作用二:去重

定义集合:
集合内的元素必须是唯一的;
集合内的元素必须是可hash的,也是就不可变类型;
集合是无序的

s={'egon',123,'egon','1'}   #s=set({'egon',123,'egon','1'} )
print(s,type(s)) s={'1',1,[1,2]}
s={'1',1,(1,2),'a','b'}
print(s)

循环

s={'1',1,(1,2),'a','b'}
for i in s:
print(i)

  

关系运算

python_s={'egon','alex','钢蛋','老王'}
linux_s={'alex','钢蛋','欧德博爱','艾里科四'} #取共同部分:交集
print(python_s & linux_s) #取老男孩所有报名学习的学生:并集
print(python_s | linux_s) #取只报名了python课程的学生:差集
print(python_s - linux_s) #取只报名了linux课程的学生:差集
print(linux_s - python_s) #取没有同时报名python和linux课程的学:对称差集 print(linux_s ^ python_s)

 集合方法

#集合方法
python_s={'egon','alex','钢蛋','老王'}
linux_s={'alex','钢蛋','欧德博爱','艾里科四'} print(python_s.intersection(linux_s))# 交集:python_s & linux_s print(python_s.union(linux_s))#并集:| print(python_s.difference(linux_s)) #python_s-linux_s print(python_s.symmetric_difference(linux_s))# 对称差集,
python_s ^ linux_s python_s={'egon','alex','钢蛋','老王'}
linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
python_s.difference_update(linux_s)
print(python_s)

  集合操作类型

 s1={'a',1}
s1.add(1) #追加一项
print(s1) s1.discard('a') #如果在 set “s”中存在元素 x, 则删除
s1.discard('b')
print(s1) s1.remove('bbbbbbb') #移除
print(s1) s1={'a',1,'b','c','d'}
print(s1.pop()) #随机删除

  

总结

s.update(t)  
s |= t  
返回增加了 set “t”中元素后的 set “s”  
  
s.intersection_update(t)  
s &= t  
返回只保留含有 set “t”中元素的 set “s”  
  
s.difference_update(t)  
s -= t  
返回删除了 set “t”中含有的元素后的 set “s”  
  
s.symmetric_difference_update(t)  
s ^= t  
返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s”  
  
s.add(x)  
  
向 set “s”中增加元素 x  
  
s.remove(x)  
  
从 set “s”中删除元素 x, 如果不存在则引发 KeyError  
  
s.discard(x)  
  
如果在 set “s”中存在元素 x, 则删除  
  
s.pop()  
  
删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发 KeyError  
  
s.clear()  
  
删除 set “s”中的所有元素  

二、布尔类型:

True和False
 print(type(True))

count=10
 print(bool(count > 10))

#所有的数据类型自带布尔值,只有0,None,空的布尔值为False

 l=[]
if len(l) == 0:
print('列表为空') print(bool(l))
if not l: #bool(l)
print('列表为空')

  

字符串

定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
特性:
1.只能存放一个值
2.不可变
3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
补充:
  1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l\thf'
  2.unicode字符串与r连用必需在r前面,如name=ur'l\thf'

Python基础(4)_集合、布尔类型的更多相关文章

  1. python基础操作_集合_三元运算

    #使用操作文件的时候,可以使用with函数#with open('E:\info.txt','a+') as fr#fr这个值可以是任意值# :#for line in fr:'''with open ...

  2. python基础——数字&集合&布尔类型

    Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...

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

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

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

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

  5. Python基础篇(set集合)

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

  6. python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/signjing/article/details/36201499 标准库:一些最爱 集合.堆和双端队 ...

  7. Python基础:05集合类型

    Python中,集合对象是一组无序排列的可哈希的值.所以集合成员可以做字典中的键.集合中的元素都是唯一的. 集合(sets)有两种不同的类型,可变集合(set) 和 不可变集合(frozenset). ...

  8. Python基础(2)--对象类型

    Python使用对象模型来存储数据.构造任何类型的值都是一个对象 所有的Python对象都拥有三个特性:身份.类型.值 身份: 每一个对象都有一个唯一的身份来标志自己,任何对象的身份可以使用内建函数i ...

  9. python基础(1) 变量类型

    变量赋值: python中的变量不需要类型声明 每个变量在使用前必须赋值,变量赋值以后才会被创建 变量在内存中创建时,包括变量的标识.名称和数据这些信息. EX: #!/usr/bin/python ...

随机推荐

  1. 今日Linux下安装部署禅道

    我的linux系统是在虚拟机上安装的Ubuntu,禅道在官网www.zentao.net下载安装的开源版的linux64位,采用一键安装包安装.安装前要求:系统上不能有自己安装的mysql .下载的安 ...

  2. Tuxedo 介绍与安装

    Tuxedo 介绍与安装(一) Tuxedo介绍                                                                             ...

  3. Kubernetes集群(概念篇)

    Kubernetes介绍 2013年docker诞生,自此一发不可收拾,它的发展如火如荼,作为一个运维如果不会docker,那真的是落伍了. 而2014年出现的kubernetes(又叫k8s)更加炙 ...

  4. Cassandra 数据库设计

    Cassandra 2.* CQL3.1 最近更新:2015-10-30 索引的设计 在Cassandra中经常会发现,索引不够用,不好用,各种不强大. 比如,我关注的人的需求uid + follow ...

  5. Flask 学习笔记(二):RESTful API

    概括 URL:需要操作的对象,也就是资源 HTTP method:我要对该对象做什么(POST 增.DELETE 删.GET 查.PUT 和 PATCH 改) HTTP status code:操作的 ...

  6. Uva 12627 Erratic Expansion(递归)

    这道题大体意思是利用一种递归规则生成不同的气球,问在某两行之间有多少个红气球. 我拿到这个题,一开始想的是递归求解,但在如何递归求解的思路上我的方法是错误的.在研读了例题上给出的提示后豁然开朗(顺便吐 ...

  7. uva 116 Unidirectional TSP(动态规划,多段图上的最短路)

    这道题目并不是很难理解,题目大意就是求从第一列到最后一列的一个字典序最小的最短路,要求不仅输出最短路长度,还要输出字典序最小的路径. 这道题可以利用动态规划求解.状态定义为: cost[i][j] = ...

  8. C#-WinForm控制输入框只接受数字输入

    背景 给导师上一节c#编写数据库应用程序的课,模拟ATM自助取款机的功能写了个winForm程序,关于金额的输入肯定是数字,因此避免输入格式不正确的数字带来异常,直接在输入时进行校验. 封装函数 C# ...

  9. (转)mongdb性能优化收集

    一.数据库最大连接数问题当你在后台日志中,发现大量“connection refused because too many open connections: 819”信息时,一般跟你没有设置合适的最 ...

  10. php serialize讲解与json性能测试

    [序列化的概念] 序列化是将对象状态转换为可保持或可传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据. 将对象的状态信息转换为可以存储或传输的 ...