数据Python第05天--集合

集合{} set()

  • 集合是一种无序且元素唯一的容器。你可以认为集合也像字典,但是只有键没有值。
  • 集合可以有两种创建方式:set函数或者{}
set([2,2,2,1,3,3])
{1, 2, 3}
{2,2,2,1,3,3}
{1, 2, 3}

集合支持数学上的集合操作,例如联合、交集、差集、对称差集。

a = {1,2,3,4,5}
b = {3,4,5,6,7,8}
  • 联合:两个集合中不同元素的并集。union方法或者\二元操作符。
a.union(b)
{1, 2, 3, 4, 5, 6, 7, 8}
a|b
{1, 2, 3, 4, 5, 6, 7, 8}
  • 交集:两个集合中同时包含的元素。&操作符或intersection方法。
a.intersection(b)
{3, 4, 5}
a&b
{3, 4, 5}
  • 常用的集合方法列表
函数替换方法描述
a.add(x)N/A将元素x加入集合a
a.clear()N/A将集合重置为空,清除所有元素
a.remove(x)N/A从集合a移除某个元素
a.pop()N\A移除任意元素,如果集合是空的抛出keyError
a.union(b)a|ba和b中的所有不同元素
a.update(b)a|=b将a的内容设置为a和b的并集
a.intersection(b)a&ba、b中同时包含的元素
a.intersection_update(b)a&=b将a的内容设置为a和b的交集
a.difference(b)a-b在a不在b的元素
a.difference_update(b)a-=b将a的内容设置为在a不在b的元素
a.symmetric_difference(b)a^b所有在a或b中,但不同时在a、b中的元素
a.symmetric_difference_update(b)a^=b将a的内容设置为所有在a或b中,但不同时在a、b中的元素
a.issubset(b)N/A如果a包含b返回True

深入:对于实战项目而言,用操作的结构代替操作右边的集合内容,代码容错率更高

c = a.copy()
c |= b
c
{1, 2, 3, 4, 5, 6, 7, 8}
d = a.copy()
d &= b 
d
{3, 4, 5}

和字典类似,集合的元素必须是不可变的。如果想要包含列表型元素,必须先转换成元组:

my_data = [1,2,3,4]
my_set = {tuple(my_data)}
my_set
{(1, 2, 3, 4)}

一个集合是否是另一个集合的子集(包含于)或超集(包含):

# 子集(包含于)
a_set = {1,2,3,4,5}
{1,2,3}.issubset(a_set)
True
# 超集(包含)
a_set.issuperset({1,2,3})
True

当且仅当两个集合的内容一模一样时,两个集合才相等:

{1,2,3} == {3,2,1}
True
{1,2,3} == {3,1,2}
True

《利用python进行数据分析(原书第二版)》韦斯·麦金尼 解读
《利用python进行数据分析(原书第二版)》韦斯·麦金尼 解读
《利用python进行数据分析(原书第二版)》韦斯·麦金尼 解读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值