Python数据结构:集合(set)详解

在这里插入图片描述

1.集合的概念

  在Python中,集合(Set)是一种无序、不重复的数据类型,它的实现基于哈希表,是由唯一元素组成的。集合中不允许有重复的元素,即相同元素只能出现一次。Python中的集合类似于数学中的集合,可以执行常见的集合操作,如并集、交集、差集等。

2.集合的创建

  使用大括号{} 或者set() 函数来创建集合。注意,空集合必须使用 set() 而不是 {},因为{} 创建的是空字典。使用{}创建只有一个元素的集合时,元素后面必须带上逗号,

# 使用set()创建空集合
empty_set = set()

set_number = set([6,3,23,7,9])
set_fruits = {
   'apple','banana','orange','pear','grape'}

print(f'空集合:{
     empty_set}') # 输出 set()
print(f'set方法创建的集合:{
     set_number}') # 输出 {3, 6, 7, 9, 23}
print('花括号创建的集合:{0}'.format(set_fruits)) # 输出 {'orange', 'pear', 'apple', 'grape', 'banana'}

# 判断元素是否在集合中 用 in
print('orange' in set_fruits) # 输出 True
print('cherries' in set_fruits) # 输出 False

3.集合的方法

  集合(set)在Python中有各种方法17个,主要分为基本操作(包括添加、删除、更新等),集合操作(并集、差集、交集)、判断集合性质(比较是否有交集、是否有差集)和其他方法。
在这里插入图片描述

3.1 基本操作

3.1.1 add()

  用于向集合中添加一个元素。该方法是一个原地操作,会修改调用方法的集合。如果添加的元素已经存在于集合中,则不会执行任何操作。

add_set = {
   'apple','banana'}
add_set.add('pear')
print(f'增加pear元素后的集合:{
     add_set}') # 输出 {'apple', 'banana', 'pear'}

add_set.add('apple') # 已存在的元素不会执行任何操作
print(add_set) # 输出 {'apple', 'banana', 'pear'}  

3.1.2 pop()

  用于移除并返回集合中的任意一个元素,会修改调用方法的集合。由于集合是无序的,所以不能确定具体移除的是哪个元素,但这个方法总是返回一个元素。
  注意,pop()不返回新的集合,而是直接修改调用方法的集合。如果集合为空,调用 pop()会引发 KeyError

set_fruits = {
   'apple','banana','pear','orange','grape'}
print(f'原始集合:{
     set_fruits}')
print(f'移除集合的元素:{
     set_fruits.pop()}')
print(f'移除一个元素后的集合:{
     set_fruits}')

set_empty = set()
set_empty.pop() # KeyError: 'pop from an empty set'

3.1.3 remove()

  用于移除集合中的指定元素,会修改调用方法的集合。如果指定的元素不存在于集合中,remove() 方法会引发KeyError

set_fruits = {
   'apple','banana','pear','orange','grape'}
set_fruits.
  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snail哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值