对!就是你!python特训之怎么学集合?我教你!保姆级!

引言

Python 中的集合(Set)是一个无序的、不包含重复元素的数据结构。

一、集合的定义

集合主要用于数学上的集合操作,如并集、交集、差集和对称差集等。集合由大括号 {} 表示,但请注意,在定义空集合时不能使用 {}(这会创建一个空字典),而应该使用 set()。集合的特性:不重复,可以用于去重;无序,不可以使用下标。

集合的定义:方式一:{a,b,c,d} ,缺点是不能定义空集合。

s = {1, 2, 3, 4}
print(s, type(s))
#结果:{1, 2, 3, 4} <class 'set'>

方式二:set(),空集合;

s = set()
print(s, type(s))
#结果:set() <class 'set'>

 set(iterable),将可迭代类型元素依次放入集合。

s = set(range(5))
print(s, type(s))
#结果:{0, 1, 2, 3, 4} <class 'set'>

集合的遍历:for e in {1,3,4,5}:,将集合中的每一个元素依次赋予e。

for e in {1, 2, 3, 4}:
    print(e)
#结果:1
      2
      3
      4

二、集合的常见操作

1.add,添加元素。

s = {"a", "b", "c"}
s.add("d")
print(s)
#结果:{'c', 'd', 'b', 'a'}

2.update,合并集合到原始集合。

s = {"a", "b", "c"}
s2 = set(range(3))
s.update(s2)
print(s)
#结果:{0, 1, 'a', 2, 'c', 'b'}

3.pop,删除集合内任一元素,可以返回删除的元素。

s = {"a", "b", "c"}
# s2 = set(range(3))
s.pop()
print(s)
#结果:{'b', 'a'}

4.remove,删除指定元素。

s = {"a", "b", "c"}
# s2 = set(range(3))
s.remove("b")
print(s)
#结果:{'a', 'c'}

指定元素不存在则报错。

s = {"a", "b", "c"}
# s2 = set(range(3))
s.remove("e")
print(s)

结果:

5.discard,删除指定元素,不存在不会报错。

s = {"a", "b", "c"}
# s2 = set(range(3))
s.discard("e")
print(s)
#结果:{'b', 'a', 'c'}

6.clear,清空集合。

s = {"a", "b", "c"}
# s2 = set(range(3))
s.clear()
print(s)
#结果:set()

7.intersection,两集合的交集,是双方共有的。

s = {"a", "b", "c"}
s2 = {"d", "b", "c"}
s3 = s.intersection(s2)
print(s3)
#结果:{'b', 'c'}

8.union,两集合的并集,一方有即可。

s = {"a", "b", "c"}
s2 = {"d", "b", "c"}
s3 = s.union(s2)
print(s3)
#结果:{'c', 'a', 'b', 'd'}

9.difference,两集合的差集,是一方有一方没有的。

s = {"a", "b", "c"}
s2 = {"d", "b", "c"}
s3 = s.difference(s2)
print(s3)
#结果:{'a'}

总结

集合是 Python 中非常有用的数据结构,特别是在处理不需要索引顺序,且需要去除重复元素的场景时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值