python基础操作之集合

概述

集合(set):把不同的元素组成在一起形成一个集合,集合是python的一个基本数据类型。

特点

唯一性 :集合的数据都是唯一的不可能重复;
无序性:集合中的所有元素没有规律可言。

操作

定义

集合(set)可以用 { }set() 来定义一个新集合。注意 :生成一个空集是只能用 set(),因为没有元素的 { } 是用来定义空字典的。
创建格式:

data1 = {element1,element2,······}
# 或者
data = set('element')

向集合里,添加一个元素。
语法格式:data1.add(x)
将x添加到集合data1中去,如果集合中有x将不进行任何操作。
例如:

# 例子
web_site = set(("Google", "Runoob", "Taobao"))
web_site.add("Facebook")
print(web_site)

运行结果:{‘Taobao’, ‘Facebook’, ‘Google’, ‘Runoob’}
另一种方法,也可以添加元素,且参数可以使任意类型。
data1.update(x)
x可以有多个,中间用逗号隔开。
例如:

web_site = set(("Google", "Runoob", "Taobao"))
web_site.update(["Facebook","baidu"])
print(web_site)

运行结果:{‘Google’, ‘baid’, ‘Facebook’, ‘Taobao’, ‘Runoob’}

移除列表里的元素。
语法格式:s.remove(x)
例如:

web_site = set(("Google", "Runoob", "Taobao"))
web_site.remove('Taobao')
print(web_site)

运行结果:{‘Google’, ‘Runoob’}
如果,要删的元素不在集合中,将会报错。
例如:

web_site = set(("Google", "Runoob", "Taobao"))
web_site.remove('baidu')
print(web_site)

运行结果:
Traceback (most recent call last):
thisset.remove(‘baidu’)
KeyError: ‘baidu’

第二种,删除集合中元素的方法,且元素不存在也不会报错。
s.discard( x )
举例说明:

web_site = set(("Google", "Runoob", "Taobao"))
web_site.discard('baidu')
print(web_site)

运行结果:{‘Google’, ‘Runoob’,‘Taobao’}

第三种,删除方式是 pop( ) ,随机删除一个元素,且返回删除的元素。
例如:

web_site = set(("Google", "Runoob", "Taobao", "Facebook"))
x = web_site.pop()
print(x)

运行结果:Taobao

清空

语法格式:s.clear( )
s.clear()只能清空集合里面的元素。不能删除集合,比如,把盒子里的东西都扔掉,盒子还在。
例子:

web_site = set(("Google", "Runoob", "Taobao", "Facebook"))
x = web_site.clear()
print(x)

运行结果: None</kbd?

计算长度(len)

实例:

web_site = set(("Google", "Runoob", "Taobao"))
len(thisset)

运行结果:3

判断

判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

x in s
x not in s

交集、并集、对称交集、差集

交集

a.intersectin(b)
#或者
a & b

并集

a.union(b)
#或者
a | b

对称差集(反交集)

a.symmetric-difference(b)
#或者
a ^ b

差集

a - b 和 b - a

父集、子集

a.issuperset(b)
或者
a > b

a 是否包含于 b

子集

a.issubset(b)
或者
a < b

b 是否包含于 a

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秋禊

兴趣才是前进路上最亮的灯

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

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

打赏作者

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

抵扣说明:

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

余额充值