集合(set)
集合其实就是一个无序的,自动去重的数据集合,它主要的作用是用来去重和进行关系测试,集合的定义方法如下:
name=set("czp") /name=set({1,2,3,4})
print(type(name))
运行结果:
{'z', 'c', 'p'} /{9, 10, 3, 5} 打印结果可以看到是元素是无序的
<class 'set'> 使用type()方法打印name的类型为set
通过下面这个例子 进一步说明集合是去重的
name=set("czpcc")
print(name)
运行结果:
{'c', 'p', 'z'}
集合的一些基本方法如下所示:
1.add():添加,仅适用于添加单个元素
s = set([3,5,9,10])
s.add("x") 添加一个元素,注意:add方法只能添加单个元素,添加多个元素需要用update方法
print(s)
运行结果:
{3, 5, 9, 10, 'x'}
2.update():更新,适用于添加多个元素
s = set([3,5,9,10])
s.update([1,2]) 通过update方法添加多个元素,可以使用[]列表的形式,也可以使用“”,“”这种,的形式隔开添加
print(s)
运行结果:
{1, 2, 3, 5, 9, 10}
3.clear():清空
s = set([3,5,9,10])
s.clear() 移除集合中的所有元素
4.copy() :深浅copy会在后面的博客中详细说。
5.pop():删除(随机删)
s = set([3,5,9,10])
s.pop() pop()方法,随机删除集合中的元素,如果集合为空,程序报错
print(s)
运行结果:
{10, 3, 5}
6.remove():删除(指定元素删除)
s = set([3,5,9,10])
s.remove(3) 指定元素删除,如果为空或者该元素不存在,程序报错
print(s)
运行结果:
{9, 10, 5}
上面提到了,集合的主要功能是去重和关系测试,对于集合的关系测试使用方法如下所示:
1.交集,可以如下两种方式表示
s = set([3,5,9,10])
v = set([3,4,9,11])
print(s&v)
print(s.intersection(v)) 求两个集合的交集
运行结果是一样的:
{9, 3}
{9, 3}
2.并集,用如下两种方式表示
s = set([3,5,9,10])
v = set([3,4,9,11])
print(s|v) 求两个集合的并集
print(s.union(v))
运行结果:
{3, 4, 5, 9, 10, 11}
{3, 4, 5, 9, 10, 11}
3.差集,用如下两种方式表示
s = set([3,5,9,10])
v = set([3,4,9,11])
print(s-v) 求两个集合的差集
print(s.difference(v))
运行结果如下:
{10, 5}
{10, 5}
另外还有 issubset()-判断子集、issuperset()-判断父级等方法,返回的值为布尔值。
二:字符串格式化补充
1.打印浮点数
print("小数为 %.2f"%88.87654321) 通过%f来做浮点数的占位符,2代表保留的小位数
运行结果: 小数为 88.88
2.打印百分比
print("percent %.2f %%"%88.87654321) 通过两个%来显示出百分比
运行结果为:
percent 88.88 %