Py基础篇---集合

  在Py中有很多的基础数据类型,那么我们此篇文章介绍的是其中的一种:集合,包括集合的特点,集合的操作。以及它的使用。那么我们就来看看集合到底是什么吧!

集合:一种可变的数据类型,但是其中的元素必须是不可变(可哈希)的数据类型,集合里的元素无序,而且不重复。

集合的操作:增删查,我下面来一一介绍

首先是集合的增

#使用add为集合增加元素
set1 = {1,2,3,'abc'}
set1.add('qwe')
print(set1)
#使用update为集合增加元素,我们会发现,他把里面的每一个元素都分把插入到结合里了
set1.update('qwer1')
print(set1)

其次是集合的删

#使用pop()随机删除一个元素
set2 = {1,2,3,'qwe'}
print(set2.pop())
print(set2)
#使用remove指定删除
set2.remove('qwe')
print(set2)
#使用clear清空
set2.clear()
print(set2)
#使用del删除集合
del set2
print(set2) #报错

然后就是集合的查

#使用for in 查看元素
set3 = {1,3,5,6,8,'dsaf'}
for i in set3:
    print(i)

这便是集合中最基本的操作了,增删查。(为什么没有改呢?因为set是不可变数据类型

以下是一些拓展,包括集合的交集,并集,集差,反交集,子集,超集

#定义两个集合
set4 = {1,2,3}
set5 = {1,2,3,4,5,6}
#两个集合的交集(&  或者 intersection)
print(set4 & set5)
print(set4.intersection(set5))
#两个集合的并集(| 或者 union)
print(set4 | set5)
print(set4.union(set5))
#两个集合的集差
print(set4 - set5)
print(set4.different(set5))
#两个集合的反交集(^ 或者 symmetric_difference)
print(set4 ^ set5)
print(set4.symmetric_difference(set5))
#两个集合的子集(issubset)
print(set4<set5)
print(set4.issubset(set5))
#两个集合的超集(issuperset)
print(set5>set4)
print(set5.issuperset(set1)

set是可变数据类型,那么如何将它转化成不可变数据类型?用frozenset

s = frozenset('barry')
print(s,type(s))  # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>
#在这里的frozenset是可以查的,但是不能删除和更改。

那么这篇文章写道这里就结束了!希望大家看了之后能有所收获!能力一般水平有限,多多指正!

posted @ 2019-06-02 14:37  GUARDIANGLE  Views(216)  Comments(0)    收藏  举报