Python——集合的基本操作_set()

1.创建集合

使用函数 set()可以创建一个集合。与列表、元组、字典等数据结构不同,创建集合没有快捷方式,必须使用 set ()函数

set ()函数最多有一个参数,如果没有参数,则会创建一个空集合。

如果有一个参数,那么参数必须是可迭代的类型,例如,字符串或列表,可迭代对象的元素将生成集合的成员。

例 5-13 创建集合:

>>> aset = set("python")	#字符串作为参数创建集合
>>> bset = set([1,2,3,4])	#列表作为参数创建集合
>>> cset = set()	#创建空集合
>>> aset,bset,cset
({'h', 'p', 'o', 'n', 't', 'y'}, {1, 2, 3, 4}, set())

从运行结果可以看出,集合的初始顺序和显示顺序是不同的,这表明集合中的元素是无序的。

2.集合的常用操作

Python 提供了众多内置操作集合的方法,用于向集合中添加元素、删除元素或复制集合等,常用的方法如表所示,其中,S、T为集合, x 为集合中的元素。

集合类型的方法:

方法功能描述
S . add ( x )添加元素。如果元素 x 不在集合 S 中,将 x 增加到 S
S . clear清除元素。移除 S 中的所有元素
S . copy()复制集合。返回集合 S 的一个副本
S . pop()随机集合 S 中的一个元素,并在集合中删除该元素。 S 为空时产生 KeyError 异常
S . discard ( x )如果 x 在集合 S 中,移除该元素; x 不存在时,不报异常
S . remove ( x )如果 x 在集合 S 中,移除该元素; x 不存在时,会产生 KeyError 异常
s . isdisjoint ( T )判断集合中是否存在相同元素。如果集合 S 与 T 没有相同元素,则返回 True
len ( S )返回集合 S 的元素个数

例 5-14 集合操作的常用方法:

#创建两个集合
>>> aset = set("python")
>>> bset = set([1,2,3,5,2])
>>> cset = bset.copy()
>>> aset,bset,cset
({'h', 'p', 'o', 'n', 't', 'y'}, {1, 2, 3, 5}, {1, 2, 3, 5})
#向集合中添加元素
>>> bset.add("y")
>>> bset
{1, 2, 3, 5, 'y'}
>>> bset.pop()
1
>>> bset
{2, 3, 5, 'y'}
#判断集合中是否存在重复元素
>>> bset.isdisjoint(aset)
False
>>> len(aset)
6
>>> cset.clear()
>>> cset
set()

从运行结果可以看出,重复元素在 bset 中自动被过滤,另外,通过 add ( x )方法可以添加元素到 set 中,可以重复添加,但重复的元素不会被加入。

除表中列出的方法外,使用 in 运算符判断集合中是否存在指定元素,从而可以实现集合的遍历。

例 5-15 集合的遍历:

>>> aset = set("python")
>>> for x in aset:
	print(x,end="")

	
hponty

集合类型主要用于3个场景:**成员关系测试、元素去重和删除数据项。**因此,如果需要对一维数据进行去重或数据重复处理时,一般可以通过集合来完成。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,可以使用set()函数将列表转换为集合集合具有去重和无序的特点。例如,如果有一个列表slist=[1,2,3,4,'a','b','a','b','c','c',1,2,3,4],可以使用set(slist)将其转换为集合。转换后的集合将去除重复的元素,并且是无序的。执行结果可能是{1, 2, 3, 4, 'a', 'b', 'c'},但顺序可能会变化。可以使用add()方法向集合中添加元素,例如sset.add('b'),即使添加一个已经存在的元素,集合内容也不会改变,重复的元素会自动被过滤掉。 另外,在Python中,还可以使用remove()方法删除集合中的元素。例如,如果有一个集合sset={1, 2, 3, 4, 'a', 'b', 'c'},可以使用sset.remove('a')来删除集合中的元素。删除后的集合可能是{1, 2, 3, 4, 'c', 'b'},删除元素后集合的顺序也可能发生变化。 总结起来,Python中的集合是无序的,元素是唯一的,一般用于对元组或列表中的元素进行去重。可以使用set()函数将列表转换为集合,使用add()方法向集合中添加元素,使用remove()方法删除集合中的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [python——集合](https://blog.csdn.net/weixin_56039103/article/details/115733338)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [python集合格式以及方法](https://blog.csdn.net/Yan_1227/article/details/112849646)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值