python-集合-set

0.集合的定义

集合(set)是一个无序、不重复元素的序列。

可以使用大括号 { } 或者 set() 函数创建集合。

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

 

1.集合创建与初始化:

#创建空集合
s = set()
#result:{}

#创建并初始化
s = set([1,2,3,'a','b','c','abc'])
#result:{1, 2, 3, 'a', 'abc', 'b', 'c'}
s = set((1,2,3,'a','b','c','abc'))
#result:{1, 2, 3, 'a', 'abc', 'b', 'c'}

 

2.添加一个元素

使用set.add(x)可以添加一个元素,其中x可以为int,float,string,tuple,但是不能是list,dict

#添加一个元素
s = set()
s.add(2018)
s.add(('a','b'))
#result:{2018, ('a', 'b')}

 

3.添加多个元素

使用set.update(x)可以批量添加元素,x参数可以是列表,元组,字典等

s = set()
s.update([1,2,3])
s.update(('hello','world'))
s.update({'language':'python'})
#result:{1, 2, 3, 'hello', 'world', 'language'}

 

4.删除元素

集合删除元素有三种方式:

set.remove(x):将元素 x 添加到集合 s 中移除,如果元素不存在,则会发生错误。

set.discard(x):移除集合中的元素,且如果元素不存在,不会发生错误

set.pop():随机删除集合中的一个元素

s = set()
s.update([i for i in range(100)])
s.remove(50)
s.discard(99)
s.pop()
#result:11

 

5.计算集合中元素的个数

len(set)

 

6.清空集合

set.clear()

 

7.判断元素是否在集合中

x in set
x not in set

 

8.求两个集合的交集

s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
s3 = s1 & s2
print(s3)
#result:{3, 4, 5}

 

9.集合的内置方法 

方法描述
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.浮点数与整型数

新的元素加入集合,集合会先判断该数字与集合内已存在的数字是否相等,如果不相等,则添加;否则,忽略。

>>> s = set([1,2.0])
>>> s
{1, 2.0}
>>> s.add(1.0)
>>> s
{1, 2.0}
>>> s.add(2)
>>> s
{1, 2.0}

对集合而言,新加入的数字即便与已存在的数字类型不同,也不可添加。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值