python-(4-3)数据类型的应用(元组、集合)

本文详细介绍了Python中的集合数据结构,包括其无序特性、哈希计算要求、去重功能,以及创建、添加、删除和查询元素的方法,以及集合间的交集、并集和差集运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.元组

特点:是不可变的列表。
拥有列表的索引、切片等功能,但元素不能被替换修改。

在这里插入图片描述

当元组中只有一个元素时,它就是字符串

在这里插入图片描述

这是因为此处的小括号默认表示优先级,就像print((2+3)*5)中的计算中,要先计算小括号内的加法,再计算乘法。所以小括号就默认了该元素的字符串类型优先级更高。

如果想要表示该元素类型是元组,只需要加一个逗号即可
在这里插入图片描述
此外,元组不可变,指为其元素分配的内存地址不可变,举例说明。
元组中的一个元素是列表,给列表添加一个元素,是可行的。

t = (10, "张三", ["k12", "cat"])
t[2].append("abc")
print(t)

给该列表分配的内存地址是固定不改变的,列表内部的增删改查是可以操作的。
一般不会这么玩,了解即可。

二.集合

1.特点

1:与列表相似,set集合是无序的

在这里插入图片描述
通过上图示例不难发现,如果大括号内为空,这不是集合,而是字典的数据类型。
并且打印不同类型的元素时,集合也是无序排列的。

2:python中set集合存储的数据类型必须可以哈希计算

在python的set集合中存储数据时,会对数据进行哈希计算,根据计算出来的哈希值进行存储数据,否则会报错,如下图所示。
在这里插入图片描述
可哈希:不可变的数据类型:int(整数)、str(字符串)、tuple(元组)、bool(布尔)
不可哈希:可变的数据类型:list(列表)、dict(字典)、set(集合)

3:set集合可以去重复

set集合中相同的元素不会出现两次及以上,所以可以用来给列表去重。
在这里插入图片描述
去除重复之后的数据是无序的。
由图可以看出,去重后打印的列表数据顺序有所变化。

2.操作

1.创建空集合、空元组、空列表、空字符串

s = set()
t = tuple()
l = list()
s = str()

2.添加元素

s.add("懒羊羊")
s.add("xyz")

3.删除元素

s.remove("xyz")

4.修改元素

修改元素=先删除元素+再添加元素

s.remove("懒羊羊")  # 先删除
s.add("灰太狼")     # 再新增

5.查询元素

通过for循环来查找元素,因为它是无序的,所以不能走索引
在这里插入图片描述

3.交集、并集、差集

首先创建两个集合,模拟测试环境

s1 = {"孙悟空", "猪八戒", "唐僧"}
s2 = {"比鲁斯", "克林", "孙悟空"}

表示交集:

print(s1 & s2)

表示并集:

print(s1 | s2)
或者
print(s1.union(s2))

表示差集:

print(s1 - s2)
print(s1.difference(s2))

print(s2 - s1)
print(s2.difference(s1))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值