Python中任性的小公主

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在讨论集合(Set)时,我们通常是在编程或数学语境下进行。不过,由于“集合的键与值”这一表述更多地与字典(或映射、哈希表)相关,我将分别解释一下在python集合和字典(或类似结构)的基本概念及常见操作


1. 集合的定义

在Python中,集合是通过大括号 {} 创建的,但与字典(Dictionary)不同,集合中的元素不是键值对(Key-Value Pair),而是简单的元素列表。另外,创建空集合时不能使用 {}(这会创建一个空字典),而应该使用 set()

# 创建一个集合  
my_set = {1, 2, 3, 4}  
  
# 创建一个空集合  
empty_set = set()

2. 集合的键与值

集合没有“键与值”的概念。集合只包含元素,这些元素在集合中是唯一的,并且没有与之关联的“值”。集合中的每个元素都可以被看作是等价的,没有特定的顺序或索引。

3. 集合的常见操作

添加元素:
  • 使用 .add() 方法向集合中添加一个元素。如果元素已存在,则不会重复添加。
my_set.add(5)
删除元素:
  • 可以使用 .remove() 方法(如果元素存在则删除,否则抛出异常)或 .discard() 方法(如果元素存在则删除,否则不抛出异常)来删除集合中的元素。还可以使用 .pop() 方法随机删除并返回一个元素(如果集合为空,则抛出异常)。
my_set.remove(2)  
my_set.discard(3)  # 如果3不存在,也不会报错  
my_set.pop()  # 随机删除一个元素
检查元素:
  • 使用 in 关键字来检查某个元素是否存在于集合中。
if 4 in my_set:  
    print("4 在集合中")
集合运算:
  • Python支持集合的多种运算,包括并集(|.union())、交集(&.intersection())、差集(-.difference())、对称差集(^.symmetric_difference())等。
set1 = {1, 2, 3}  
set2 = {2, 3, 4}  
  
print(set1 | set2)  # 并集 {1, 2, 3, 4}  
print(set1 & set2)  # 交集 {2, 3}  
print(set1 - set2)  # 差集 {1},即存在于set1但不在set2中的元素  
print(set1 ^ set2)  # 对称差集 {1, 4},即存在于一个集合中但不在另一个集合中的元素
子集与超集:
  • 使用 <<=>>= 运算符来检查一个集合是否是另一个集合的子集或超集。
print(set1 < set2)  # False,因为set1不是set2的子集  
print(set2 >= set1)  # True,因为set2是set1的超集
集合的大小:
  • 使用 len() 函数来获取集合中元素的数量。
print(len(my_set))
清空集合:
  • 使用 .clear() 方法来移除集合中的所有元素。
my_set.clear()

总结

请注意,集合中的元素必须是不可变类型(如整数、浮点数、字符串、元组等),因为集合需要能够比较元素以确定它们是否相等和唯一。列表(List)和字典(Dictionary)等可变类型不能作为集合的元素。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值