【笔记】python集合set

本文介绍了Python集合(set)的基本概念,它是一个无序且不包含重复元素的序列。创建集合可用大括号{}或set()函数,空集合必须用set()。集合操作包括添加元素(add或update)、移除元素(remove或discard)以及内置方法的使用。

集合的基本概念

集合(set)是一个无序的不重复元素序列,与数学的集合思想相似,当创建的元素中有重复时,会去掉重复。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建之后的集合并不是一定按照代码里的顺序排列的,集合是无序序列。

set1={23,43,'good','Tom',23,'Tom'}  #创建集合
print(set1)
if 23 in set1 :        #快速判断元素是否在集合内
    print('true')
else :
    print('false')

#*****************集合间的运算************************
set2 = set('gjiaghishg')   #创建元素
set3 = set('fkdsngilhggsdagfds')
print('set2&set3 = ',set2&set3)
print('set2|set3 = ',set2|set3)
print('set2|set3 = ',set2^set3)
#****************集合推导式****************
a = {x for x in set2 if x not in 'abc'}
print('a = ',a)

集合的基本操作

1. 添加元素

将元素添加到集合中,如果元素已经存在,则不进行任何操作。可以使用add方法或者upda方法。

list1=['nihao',45,98]
set1={23,43,'good','Tom',23,'Tom'}  #创建集合
print('set1:',set1)

set1.add(45)
print('set1.add(45):',set1)

set1.update(list1)
print('set1.update(list1):',set1)

2. 其他操作

将集合中的某个(些)元素移除出去。可以使用remove方法,如果元素不存在,会发生错误。或使用discard方法,元素不存在不会出错。此外,pop方法用于随机删除一个元素。

set1={23,43,'good','Tom',23,'Tom','forest','haut'}  #创建集合
print(set1)
set1.remove('Tom') #删除元素’Tom‘
print(set1)
set1.discard(23) #删除元素23
print(set1)
set1.pop() #随机删除一个元素,每次执行都不一样
print(set1)

if 'forest' in set1:
    print('forest in set1')
else :
    print('forest not in set1')

print(len(set1))  #计算元素的个数
set1.clear()  #清空集合
print(len(set1))

3. 内置方法

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素

 

学习资料:菜鸟教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值