Python基础篇------集合

1. 集合是什么:

Python中的集合(set)与数学中集合的概念类似。集合是用于存储不重复的元素。它可以分为可变集合(set)和不可变集合(frozenset)两种类型,即集合可以为可变数据类型也可以为不可变数据类型。

集合的特性:

· 无序性 : 元素之间没有确定的顺序。

· 互异性 :集合中不会出现重复元素。

· 确定性 : 元素和集合之间只存在属于和不属于的关系。

2. 集合的创建:

2.1 语法:

变量名 = {元素1,元素2,... ,元素n}
se1 = {10, 20, 30, 40, 50}

注意:创建空集合需要使用set()创建,不能直接用{},否则创建的会是一个字典。

a = {}
print(type(a))
a = set()
print(type(a))

 

2.2 集合可去掉重复元素

se2 = {10,20,40,10,20,10}
print(se2)

 注意:我们可以利用集合可以去掉重复元素这一特性来判断一个序列中的每一个元素是否具有唯一这一特性,有便于我们对数据的整理。

li1 = [1, 1, 2, 4, 6, 2]
if len(set(li1)) == len(li1):
    print("该列表中不存在重复元素")
else:
    print("该列表中存在重复元素")

集合数据是无序的,因此我们并不能使用下标进行访问集合内的元素。

se2 = {10, 20, 40, 10, 20, 10}
print(se2[1])

 

3. 集合的常见操作方法

3.1 增添数据

· add() : 添加一个元素

s1 = {10, 20}
s1.add(100)
s1.add(10)
print(s1)

由于集合元素唯一,因此添入10的时候其集合内的元素不会发生变化。

· update(): 添加多个元素,追加的数据是序列

s1 = {10, 20}
s1.update([100, 200])
s1.update('abc')
print(s1)

 注意:如果我们追加的数据不是一个序列而是一个元素的话那么就会发生报错 

s1 = {10, 20}
s1.update(100) 

3.2 删除数据

· remove():删除集合中的指定元素,若元素不存在则会发生报错。

s1 = {10, 20}
s1.remove(10)
print(s1)

删除一个不存在的情况: 

s1 = {10, 20}
s1.remove(30) 
print(s1)

· discard():删除集合中的指定数据,如果数据不存在也不会发生报错。

s1 = {10, 20}
s1.discard(10)
print(s1)

s1.discard(10)
print(s1)

· pop() 随机删除集合中的一个数据,并返回这个数据。

i = 1
s1 = {10, 20, 30, 40, 50}
while i <= len(s1):
    print(s1)
    del_num = s1.pop()
    print(del_num)

表面上看去你会觉得它每次删除的数据都是它最前面的数据,但是由于集合具有无序性,因此我们可以说是随机删除集合中的一个数据。

·3.3 查看数据

in: 判断数据在集合中,存在返回True,不存在返回False。

not in : 判断数据不在集合中,不存在返回True,存在返回False

s1 = {10, 20, 30, 40, 50}
print(10 in s1)
print(10 not in s1)
print(100 in s1)
print(100 not in s1)

以上是我近期对集合数据类型学习的一个总结,如若出现错误,希望大家能够指出,我们一起交流学习!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值