本帖最后由 我是色色 于 2017-12-19 10:36 编辑
集合(set) 集合其实就是一个无序的,自动去重的数据集合,它主要的作用是用来去重和进行关系测试,集合的定义方法如下: [AppleScript] 纯文本查看 复制代码 复制代码
name=set("czp") /name=set({1,2,3,4})
print(type(name))
运行结果:
{'z', 'c', 'p'} /{9, 10, 3, 5} 打印结果可以看到是元素是无序的
<class 'set'> 使用type()方法打印name的类型为set
复制代码 通过下面这个例子 进一步说明集合是去重的 [AppleScript] 纯文本查看 复制代码 name=set("czpcc")
print(name)
运行结果:
{'c', 'p', 'z'} 集合的一些基本方法如下所示: 1.add():添加,仅适用于添加单个元素 [AppleScript] 纯文本查看 复制代码 s = set([3,5,9,10])
s.add("x") 添加一个元素,注意:add方法只能添加单个元素,添加多个元素需要用update方法
print(s)
运行结果:
{3, 5, 9, 10, 'x'} 2.update():更新,适用于添加多个元素 [AppleScript] 纯文本查看 复制代码 s = set([3,5,9,10])
s.update([1,2]) 通过update方法添加多个元素,可以使用[]列表的形式,也可以使用“”,“”这种,的形式隔开添加
print(s)
运行结果:
{1, 2, 3, 5, 9, 10} 3.clear():清空 [AppleScript] 纯文本查看 复制代码 s = set([3,5,9,10])
s.clear() 移除集合中的所有元素 4.copy() :深浅copy会在后面的博客中详细说。 5.pop():删除(随机删) [AppleScript] 纯文本查看 复制代码 s = set([3,5,9,10])
s.pop() pop()方法,随机删除集合中的元素,如果集合为空,程序报错
print(s)
运行结果:
{10, 3, 5} 6.remove():删除(指定元素删除) [AppleScript] 纯文本查看 复制代码 s = set([3,5,9,10])
s.remove(3) 指定元素删除,如果为空或者该元素不存在,程序报错
print(s)
运行结果:
{9, 10, 5} 上面提到了,集合的主要功能是去重和关系测试,对于集合的关系测试使用方法如下所示: 1.交集,可以如下两种方式表示 [AppleScript] 纯文本查看 复制代码 复制代码
s = set([3,5,9,10])
v = set([3,4,9,11])
print(s&v)
print(s.intersection(v)) 求两个集合的交集
运行结果是一样的:
{9, 3}
{9, 3}
复制代码 2.并集,用如下两种方式表示 [AppleScript] 纯文本查看 复制代码 复制代码
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.差集,用如下两种方式表示 [AppleScript] 纯文本查看 复制代码 复制代码
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.打印浮点数 [AppleScript] 纯文本查看 复制代码 print("小数为 %.2f"%88.87654321) 通过%f来做浮点数的占位符,2代表保留的小位数
运行结果: 小数为 88.88 2.打印百分比 [AppleScript] 纯文本查看 复制代码 print("percent %.2f %%"%88.87654321) 通过两个%来显示出百分比
运行结果为:
percent 88.88 %
{:8_507:} |