集合的作用一:关系运算
集合的作用二:去重
定义集合:
集合内的元素必须是唯一的;
集合内的元素必须是可hash的,也是就不可变类型;
集合是无序的
1
2
3
4
5
6
|
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) |
循环
1
2
3
|
s = { '1' , 1 ,( 1 , 2 ), 'a' , 'b' } for i in s: print (i) |
关系运算
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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) |
集合方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#集合方法 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) |
集合操作类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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()) #随机删除 |
总结
布尔类型:
True和False
print(type(True))
count=10
print(bool(count > 10))
#所有的数据类型自带布尔值,只有0,None,空的布尔值为False
1
2
3
4
5
6
7
|
l = [] if len (l) = = 0 : print ( '列表为空' ) print ( bool (l)) if not l: #bool(l) print ( '列表为空' ) |
字符串
定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
特性:
1.只能存放一个值
2.不可变
3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
补充:
1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l hf'
2.unicode字符串与r连用必需在r前面,如name=ur'l hf'