Python基础(4)_集合、布尔类型
一、集合
集合的作用一:关系运算
集合的作用二:去重
定义集合:
集合内的元素必须是唯一的;
集合内的元素必须是可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'