Python 集合
集合(set)是一个无序的,不重复元素的序列
可以使用大括号{}或set()函数来创建集合
空集合必须使用set()来创建,不能使用{}来表示空集合,因为{}表示的是一个空字典
1.add添加元素
(1)语法格式
s.add(x)
备注:x表示将要被添加至集合的元素,如果参数x的值已经存在,将不会被添加
(2)实例
# v = set((1,2,3,4,5,6)) #也可以使用此方法来表示集合
v = {1,2,3,4,5,6}
v.add(100)
v.add(3)
print(type(v))
print(v)
#输入结果如下:
<class 'set'>
{1, 2, 3, 4, 5, 6, 100}
2.update更新元素
(1)语法格式
s.update(x)
备注:x参数要为可迭代的。参数x可以是列表,元组,字典等,如果参数x的值已经存在,将不会被添加
(2)实例
v = {1,2,3,4,5,6}
v1 = [7,8,9]
v2 = {"key1":"value1", "key2":"value2"}
v3 = (11,22,33)
v4 = "maple"
v.update(v1)
print(v)
v.update(v2)
print(v)
v.update(v3)
print(v)
v.update(v4)
print(v)
v.update(3)
print(v)
#输入结果如下:
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 'key1', 'key2'}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 'key1', 11, 33, 22, 'key2'}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 'e', 22, 'key2', 33, 'l', 'key1', 'p', 'm', 'a'}
Traceback (most recent call last):
File "E:/python21/day5/test.py", line 19, in <module>
v.update(3)
TypeError: 'int' object is not iterable
3.remove移除元素
(1)语法格式
s.remove(x)
备注:参数x表示将被移除的元素。如果元素不存在,则会发生错误
(2)实例
v = {"maple", "hao", "123",2,4,5}
v.remove("maple")
print(v)
v.remove(111)
print(v)
#输出的结果如下:
Traceback (most recent call last):
File "E:/python21/day5/test.py", line 6, in <module>
v.remove(111)
KeyError: 111
{2, 4, '123', 5, 'hao'}
4.discard移除元素
(1)语法格式
s.discard(x)
备注:参数x表示将要被移除的元素,discard移除元素,如果元素不存在,不会报错
(2)实例
v = {"maple", "hao", "123",2,4,5}
v.discard("maple")
print(v)
v.discard(111)
print(v)
#输出结果如下:
{2, 4, 5, '123', 'hao'}
{2, 4, 5, '123', 'hao'}
5.pop随机删除元素
(1)语法格式
s.pop()
(2)实例
v = {"maple", "hao", "123",2,4,5}
v.pop()
print(v)
#输出结果如下:
{4, 5, '123', 'maple', 'hao'}
6.len计算集合元素个数
(1)语法格式
len(集合)
(2)实例
v = {"maple", "hao", "123",2,4,5}
print(len(v))
#输出的结果如下:
6
7.clear清除集合元素
(1)语法格式
s.clear()
(2)实例
v = {"maple", "hao", "123",2,4,5}
v.clear()
print(v)
#输出的结果如下:
set()
8.in 判断元素是否存在集合中
(1)语法格式
x in 集合
备注:参数x表示要判断的元素是否存在集合中
(2)实例
v = {"maple", "hao", "123",2,4,5}
flag = "hao" in v
print(flag)
flag1 = "jjj" in v
print(flag1)
#输出结果如下:
True
False
9.for 循环集合中每个元素
(1)语法格式
for item in 集合:
(2)实例
v = {"maple", "hao", "123",2,4,5}
for item in v:
print(item)
#输出的结果如下:
123
2
4
5
maple
hao
10.intersection 交集
intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。
(1)语法格式
集合1.intersection(集合2)
(2)实例
v1 = {"maple", "hao", "123",2,4,5}
v2 = {"hao", 2,3,4,5,6}
result = v1.intersection(v2)
print(result)
#输出的结果如下:
{2, 'hao', 4, 5}
11.union 并集
union() 方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。
(1)语法格式
集合1.union(集合2)
(2)实例
v1 = {"maple", "hao", "123",2,4,5}
v2 = {"hao", 2,3,4,5,6}
result = v1.union(v2)
print(result)
#输出的结果如下:
{2, '123', 4, 5, 3, 6, 'hao', 'maple'}
12.difference 差集
(1)语法格式
difference() 方法用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中
集合1.difference(集合2)
(2)实例
v1 = {"maple", "hao", "123",2,4,5}
v2 = {"hao", 2,3,4,5,6}
result1 = v1.difference(v2)
print(result1)
result2 = v2.difference(v1)
print(result2)
#输出的结果如下:
{'maple', '123'}
{3, 6}