Python3 集合(Set)

Set(集合)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
paname = {value1,value2,…}
或者
set(value)
实例:

stu={'Tom','Jim',"Marry",'Tom','Jack','Rose'}
print(stu)# 输出集合,重复的元素被自动去掉
if 'Rose' in stu:
    print('Rose 在集合中')
else:
    print('Rose 不在集合中')

输出结果:

{'Jack', 'Marry', 'Jim', 'Tom', 'Rose'}
Rose 在集合中

集合的基本操作

1、添加元素
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。语法格式如下:
s.add(x)
实例:

thisset = set(("Google", "Runoob", "Taobao"))
print("原集合",thisset)
thisset.add("Facebook")
print("添加之后的新集合",thisset)

输出结果:

原集合 {'Runoob', 'Taobao', 'Google'}
添加之后的新集合 {'Runoob', 'Taobao', 'Facebook', 'Google'}

还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:
s.update( x )
实例:

thisset = set(("Google", "Runoob", "Taobao"))
print("原集合",thisset)

thisset.update({1,3})
print("添加{1,3}之后的新集合",thisset)

thisset.update([1,4],[5,6])
print("添加[1,4],[5,6]之后的新集合",thisset)

输出结果:

原集合 {'Taobao', 'Google', 'Runoob'}
添加{1,3}之后的新集合 {1, 3, 'Taobao', 'Google', 'Runoob'}
添加[1,4],[5,6]之后的新集合 {1, 3, 4, 5, 6, 'Taobao', 'Google', 'Runoob'}

2.移除元素
将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。语法格式如下:
s.remove( x )
实例:

thisset = set(("Google", "Runoob", "Taobao"))
thisset.remove("Taobao")     # 删除存在的元素
print("删除Taobao之后的元组",thisset)
thisset.remove("Facebook")   # 删除不存在的元素
print("删除Facebook之后的元组",thisset)

输出结果:

删除Taobao之后的元组 {'Google', 'Runoob'}
Traceback (most recent call last):
  File "F:\知识\Python程序\hello.py", line 4, in <module>
    thisset.remove("Facebook")   # 删除不存在的元素
KeyError: 'Facebook'

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

thisset = set(("Google", "Runoob", "Taobao"))

thisset.discard("Facebook")   # 删除不存在的元素
print("删除Facebook之后的元组",thisset)

输出结果:

删除Facebook之后的元组 {'Google', 'Taobao', 'Runoob'}

随机删除集合中的一个元素,语法格式如下:
s.pop()
实例:

thisset = set(("Google", "Runoob", "Taobao"))
print("随机删除的元素为: ",thisset.pop())

输出结果:

随机删除的元素为:  Google

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

3、计算集合元素个数
语法格式如下:
len(s)
实例:

thisset = set(("Google", "Runoob", "Taobao"))
print(len(thisset))

输出结果:

3

** 4、清空集合**
语法格式如下:
s.clear()
实例:

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

输出结果:

set()

5.集合运算
实例:

a=set("abracadabra")
b={'a','l','a','c','a','z','a','m'}
print(a)
print(a-b) # a和b的差集
print(a|b) # a和b的并集
print(a&b) # a和b的交集
print(a^b) # a和b中不同时存在的元素

输出结果:

{'a', 'c', 'd', 'r', 'b'}
{'r', 'd', 'b'}
{'a', 'l', 'c', 'd', 'r', 'm', 'z', 'b'}
{'c', 'a'}
{'l', 'm', 'r', 'b', 'z', 'd'}*斜体样式*

集合内置方法完整列表

  1. add() 为集合添加元素
  2. clear() 移除集合中的所有元素
  3. copy() 拷贝一个集合
  4. difference() 返回多个集合的差集
  5. difference_update() 移除集合中的元素,该元素在指定的集合也存在。
  6. discard() 删除集合中指定的元素
  7. intersection() 返回集合的交集
  8. intersection_update() 删除集合中的元素,该元素在指定的集合中不存在。
  9. isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
  10. issubset() 判断指定集合是否为该方法参数集合的子集。
  11. issuperset() 判断该方法的参数集合是否为指定集合的子集
  12. pop() 随机移除元素
  13. remove() 移除指定元素
  14. symmetric_difference() 返回两个集合中不重复的元素集合。
  15. symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
  16. union() 返回两个集合的并集
  17. update() 给集合添加元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值