Python中8种经典数据结构 之 集合

Python常用的8种经典数据结构

  • Pythn原生数据结构:元组Tuple()、列表List()、集合Set()、字典Dictionary{A:B}
  • NumPy包中的数据结构:数组Ndarray(带多种操作)、矩阵Matrix(多种线性代数计算)
  • Pandas包中的数据结构:序列Series(索引+ 1列数据)、数据框DataFrame(索引+ 多列数据表)

3 集合(Set)

3.1 创建集合

集合的创建。没有重复元素,{}, 如果元素为数字,则按照大小排列;使用set()函数创建集合,会自动地拆分多个字母组成的字符串

mySet1 = set('abcdefghi'); print(mySet1)
mySet2 = {'fdfdf', 'ssss'}; print(mySet2)
mySet3 = {1,-10,-4,2,3,-9,5,6,4,0,-3}; print(mySet3)
{'d', 'c', 'b', 'a', 'i', 'h', 'e', 'f', 'g'}
{'ssss', 'fdfdf'}
{0, 1, 2, 3, 4, 5, 6, -10, -9, -4, -3}
3.2 查询操作

集合的查询。使用in可以判断元素是否在集合种,存在为真;反之为假

mySet = {'ssss','ffff','aaaa',1,2,44}
'aaaa' in mySet
True
3.3 增加操作

集合元素的增加。add() & update(); 集合中如果要添加的元素已经存在,则无法添加第二个,带有自动去重的功能;update()方法是把要添加的字符串拆成一个一个字符,添加进去

mySet.add('utf') ; print(mySet)
mySet.update('utf'); print(mySet)
mySet.add('aaaa'); print(mySet)
{1, 2, 'aaaa', 'utf', 'ssss', 44, 'ffff'}
{1, 2, 't', 'f', 'aaaa', 'u', 'utf', 44, 'ffff', 'ssss'}
{1, 2, 't', 'f', 'aaaa', 'u', 'utf', 44, 'ffff', 'ssss'}
3.4 删除操作

remove() & discard() & pop() & clear() : 分别是删除指定元素、删除指定指定元素,如果不存在不报错、随机删除一个元素、清空元素

mySet.remove(1); print(mySet)
# mySet.remove(0); print(mySet)
mySet.discard(0); mySet.discard(2); print(mySet)
mySet.pop(); print(mySet)
mySet.clear(); print(mySet)
{2, 't', 'f', 'aaaa', 'u', 'utf', 44, 'ffff', 'ssss'}
{'t', 'f', 'aaaa', 'u', 'utf', 44, 'ffff', 'ssss'}
{'f', 'aaaa', 'u', 'utf', 44, 'ffff', 'ssss'}
set()
3.5 特殊操作

len() – 集合长度; copy() – 复制生成一个新的集合

s = {1,2,3,44,'a','b'}
copy_s = s.copy()
print(len(copy_s),copy_s)
6 {1, 2, 3, 'a', 'b', 44}

子集 ; 交集 & ; 并集| ; 差集 - ; ^ 并集减去交集

a = set('fdsgsa'); b = set('gsjsjsgjls')
print(a-b, a&b, a|b, a^b,sep='\n')
{'f', 'd', 'a'}
{'s', 'g'}
{'j', 'd', 'a', 's', 'l', 'g', 'f'}
{'j', 'd', 'a', 'l', 'f'}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心灵流浪者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值