Python中的集合类型及其操作

本文介绍python中的集合类型以及其相关操作。(使用python3.6.0)

集合是一个无序的(字典也是无序的),不重复的数据集合。其基本功能包括下面两种:

1. 去重:把一个还有重复元素的列表或元组等数据类型转变成集合,其中的重复元素只出现一次。使用set()方法。

2. 进行关系测试:测试两组数据之间的交集,差集,并集等数据关系。

首先是一个使用set()去重的例子:


可见a,b分别为含有重复元素的列表和元组,使用set()方法后转变成不含重复元素的集合类型。

另外使用set()可以直接创建一个空集合,集合使用大括号。

也可以使用大括号直接创建集合,输入元素可以重复(自动去重):


然后是进行关系测试的列子及相关函数:

首先可以通过help(set),查看集合的相关函数,下面是部分查询结果:


那么我们介绍集合常用的关系测试函数:

# Author:Allen Liu
# Data: 07/23/2017
''''Some examples of the relationship testing '''
a = [1,2,2,'a','a','d','e']
b = [1,2,2,'a','a','b','b']
c = set(a)
d = set(b)
print(c,d)
# The result is {1, 2, 'a', 'd', 'e'} {'b', 1, 2, 'a'}
e = c.intersection(d) # "取交集" “equals the command: c & b”
f = c.union(d) #"并集" “equals the command: c \ d”
g = c.difference(d) #"差集" “equald the command c - d”
print(e,f,g)
# The result is {'a', 1, 2} {1, 2, 'a', 'b', 'd', 'e'} {'d', 'e'}
h = c.symmetric_difference(d) #"对称差集" “equals to c ^ d”
i = c.issubset(d) # "判读是否为子集"
j = c.issuperset(d) # "判读是否为超集"
k = c.isdisjoint(d)#检查是否有相同元素,没有返回True
print(h,i,j,k)
# The result is {'d', 'e', 'b'} False False False
m = len(c)
n = 'a' in c #判断元素l是否在c中
c.remove('a')#去除指定元素
print(m,n,c)
#The result is 5 True {1, 2, 'd', 'e'}


  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值