非常教程

Python 3 教程教程

Python3 集合

Python3 集合

Python3 集合

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

parame = {value01,value02,...}
或者
set(value)

实例(Python 3.0+)

>>>basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} >>> print(basket) # 这里演示的是去重功能 {'orange', 'banana', 'pear', 'apple'} >>> 'orange' in basket # 快速判断元素是否在集合内 True >>> 'crabgrass' in basket False >>> # 下面展示两个集合间的运算. ... >>> a = set('abracadabra') >>> b = set('alacazam') >>> a {'a', 'r', 'b', 'c', 'd'} >>> a - b # 集合a中包含而集合b中不包含的元素 {'r', 'd', 'b'} >>> a | b # 集合a或b中包含的所有元素 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} >>> a & b # 集合a和b中都包含了的元素 {'a', 'c'} >>> a ^ b # 不同时包含于a和b的元素 {'r', 'd', 'b', 'm', 'z', 'l'}

类似列表推导式,同样集合支持集合推导式(Set comprehension):

实例(Python 3.0+)

>>>a = {x for x in 'abracadabra' if x not in 'abc'} >>> a {'r', 'd'}

集合的基本操作

1、添加元素

语法格式如下:

s.add( x )

将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。

实例(Python 3.0+)

>>>thisset = set(("Google", "verydoc", "Taobao")) >>> thisset.add("Facebook") >>> print(thisset) {'Taobao', 'Facebook', 'Google', 'verydoc'}

还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:

s.update( x )

x 可以有多个,用逗号分开。

实例(Python 3.0+)

>>>thisset = set(("Google", "verydoc", "Taobao")) >>> thisset.update({1,3}) >>> print(thisset) {1, 3, 'Google', 'Taobao', 'verydoc'} >>> thisset.update([1,4],[5,6]) >>> print(thisset) {1, 3, 4, 5, 6, 'Google', 'Taobao', 'verydoc'} >>>

2、移除元素

语法格式如下:

s.remove( x )

将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

实例(Python 3.0+)

>>>thisset = set(("Google", "verydoc", "Taobao")) >>> thisset.remove("Taobao") >>> print(thisset) {'Google', 'verydoc'} >>> thisset.remove("Facebook") # 不存在会发生错误 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'Facebook' >>>

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:

s.discard( x )

实例(Python 3.0+)

>>>thisset = set(("Google", "verydoc", "Taobao")) >>> thisset.discard("Facebook") # 不存在不会发生错误 >>> print(thisset) {'Taobao', 'Google', 'verydoc'}

我们也可以设置随机删除集合中的一个元素,语法格式如下:

s.pop() 

脚本模式实例(Python 3.0+)

thisset = set(("Google", "verydoc", "Taobao", "Facebook")) x = thisset.pop() print(x)

输出结果:

$ python3 test.py 
verydoc

多次执行测试结果都不一样。

set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

3、计算集合元素个数

语法格式如下:

len(s)

计算集合 s 元素个数。

实例(Python 3.0+)

>>>thisset = set(("Google", "verydoc", "Taobao")) >>> len(thisset) 3

4、清空集合

语法格式如下:

s.clear()

清空集合 s。

实例(Python 3.0+)

>>>thisset = set(("Google", "verydoc", "Taobao")) >>> thisset.clear() >>> print(thisset) set()

5、判断元素是否在集合中存在

语法格式如下:

x in s

判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

实例(Python 3.0+)

>>>thisset = set(("Google", "verydoc", "Taobao")) >>> "verydoc" in thisset True >>> "Facebook" in thisset False >>>

集合内置方法完整列表

方法 描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素
Python3 集合
Python 3 教程

Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。

Python 3 教程目录

1.Python3 函数
2.Python3 编程第一步
3.Python3 列表
4.Python3 字符串
5.Python3 数字(Number)
6.Python3 注释
7.Python3 解释器
8.Python3 模块
9.Python3 数据结构
10.Python3 标准库概览
11.Python3 基础语法
12.Python 随机数生成
13.Python 计算三角形的面积
14.Python 二次方程
15.Python 平方根
16.Python 数字求和
17.Python Hello World 实例
18.Python3 实例
19.Python 九九乘法表
20.Python 阶乘实例
21.Python 质数判断
22.Python 获取最大值函数
23.Python 判断闰年
24.Python 判断奇数偶数
25.Python 判断字符串是否为数字
26.Python if 语句
27.Python 交换变量
28.Python 摄氏温度转华氏温度
29.Python 文件 IO
30.Python 使用递归斐波那契数列
31.Python 生成日历
32.Python 简单计算器实现
33.Python 最小公倍数算法
34.Python 最大公约数算法
35.Python ASCII码与字符相互转换
36.Python 十进制转二进制、八进制、十六进制
37.Python 阿姆斯特朗数
38.Python 斐波那契数列
39.Python list 常用操作
40.Python 获取昨天日期
41.Python 计算每个月天数
42.Python 字符串大小写转换
43.Python 字符串判断
44.Python3 ceil() 函数
45.Python3 abs() 函数
46.Python3 运算符
47.Python3 命令行参数
48.Python3 round() 函数
49.Python3 pow() 函数
50.Python3 modf() 函数
51.Python3 min() 函数
52.Python3 max() 函数
53.Python3 log10() 函数
54.Python3 log() 函数
55.Python3 floor() 函数
56.Python3 fabs() 函数
57.Python3 exp() 函数
58.Python3 atan() 函数
59.Python3 asin() 函数
60.Python3 acos() 函数
61.Python3 uniform() 函数
62.Python3 shuffle() 函数
63.Python3 seed() 函数
64.Python3 random() 函数
65.Python3 randrange() 函数
66.Python3 choice() 函数
67.Python3 sqrt() 函数
68.Python3 count()方法
69.Python3 center()方法
70.Python3 capitalize()方法
71.Python3 radians() 函数
72.Python3 degrees() 函数
73.Python3 tan() 函数
74.Python3 sin() 函数
75.Python3 hypot() 函数
76.Python3 cos() 函数
77.Python3 atan2() 函数
78.Python3 islower()方法
79.Python3 isdigit()方法
80.Python3 isalpha()方法
81.Python3 isalnum()方法
82.Python3 index()方法
83.Python3 find()方法
84.Python3 expandtabs()方法
85.Python3 endswith()方法
86.Python3 encode()方法
87.Python3 bytes.decode()方法
88.Python3 maketrans()方法
89.Python3 lstrip()方法
90.Python3 lower()方法
91.Python3 len()方法
92.Python3 ljust()方法
93.Python3 join()方法
94.Python3 isupper()方法
95.Python3 istitle()方法
96.Python3 isspace()方法
97.Python3 isnumeric()方法
98.Python3 startswith()方法
99.Python3 splitlines()方法
100.Python3 split() 方法