集合的作用一:关系运算
集合的作用二:去重
定义集合:
集合内的元素必须是唯一的;
集合内的元素必须是可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\thf'
2.unicode字符串与r连用必需在r前面,如name=ur'l\thf'