Python学习day06(元组与集合)

元组常用方法:

Python 中的元组(tuple)是一个不可变序列这意味着一旦创建了元组,就不能修改它的元素。尽管不能直接修改元组,但我们仍可以通过各种方式操作和使用元组,包括增加、删除、修改(通过重新创建和转换)、遍历以及将元组转换为其他数据类型。

1. 创建元组
直接使用圆括号 () 包含元素来创建元组,元素之间用逗号分隔。
一个元素的元组需要在元素后加逗号,如 (element,)。
t = (1, 2, 3)
t_single = (1,)  # 单元素元组

t = (1, 2, 3)
l = list(t)  # 转换为列表
t_new = tuple(l)  # 转换回元组


2. 访问元组元素(查询)
使用索引来访问元组中的元素,索引从 0 开始。
可以使用负数索引从末尾开始访问。

t = (1, 2, 3)
print(t[0])  # 输出第一个元素
print(t[-1])  # 输出最后一个元素


3. 遍历元组
使用 for 循环遍历元组中的每个元素。

t = (1, 2, 3)
for item in t:
    print(item)


4. 修改元组(间接)
由于元组是不可变的,不能直接修改其元素。但可以通过将元组转换为列表(可变),修改列表,然后再将列表转换回元组来间接修改。

t = (1, 2, 3)
l = list(t)  # 将元组转换为列表
l[1] = 200  # 修改列表
t = tuple(l)  # 将列表转换回元组


5. 增加元素(间接)
同样,直接增加元组元素是不可能的,但可以通过连接元组或转换、修改后再转换的方式来实现。

t = (1, 2, 3)
t_new = t + (4,)  # 连接两个元组


6. 删除元组元素(间接)
不能直接从元组中删除元素,但可以通过转换为列表,删除列表中的元素,然后再转换回元组来实现。

t = (1, 2, 3, 4)
l = list(t)
l.remove(3)  # 删除元素3
t = tuple(l)


注意:直接删除整个元组是可以的,使用 del 语句。

t = (1, 2, 3)
del t  # 删除整个元组


7. 元组转换
元组可以很容易地转换为列表(list()),反之亦然(tuple())。

t = (1, 2, 3)
l = list(t)  # 转换为列表
t_new = tuple(l)  # 转换回元组


8. 元组的其他操作
len(t) 获取元组的长度。
t.index(value) 查找元素的索引位置。
t.count(value) 计算某个值在元组中出现的次数。
元组由于其不可变性,在多线程环境下可以提供一定的安全性,常用于保证数据不被意外修改。

集合的常用方法:
1)不支持元素重复,并且输出内容无序

2)标识符:{  }

2、定义

2.1 定义集合变量
 变量名称 = {元素,元素,元素,,,,,,元素}

2.2 定义空集合
 变量名称 = set()

3、集合的常用操作
3.1 定义集合
不能重复,且内容无序;不支持下标索引访问

my_set = {"hello", "林夏",1,2,3,4,5,"林夏",5,5,5} #定义集合
my_set_empty = ()
print(f"my_set的内容是:{my_set},类型是:{type(my_set)}")


 3.2 添加新元素
语法:集合.add(元素),将指定元素添加到集合中

集合本身被修改,添加了新元素

my_set = {"hello", "World"} #定义集合
my_set.add("林夏")
print(my_set)

3.3 移除元素
语法:集合.remove(元素),将指定元素从集合内移除

集合本身被修改,移除了元素

my_set = {"hello", "World","林夏"}
my_set.remove("World") #移除集合中的元素World
print(my_set)

3.4 从集合中随机取出元素
语法:集合.pop() 从集合中随机取出一个元素

会得到一个元素的结果,集合本身被修改,元素被移除

my_set = {"hello", "World","林夏"}
my_set.pop() #移除集合中的元素中随机一个元素
print(my_set)


3.5 清空集合
语法:集合.clear() 清空集合

my_set = {"hello", "World","林夏"}
my_set.clear() #清空集合
print(my_set)

3.6 取两个集合的差集
语法:集合1.difference(集合2),取出集合1和集合2的差集得到一个新的集合,集合1和集合2本身不变

set1 = {1,3,5}
set2 = {2,3,4,5,6}
set3 = set1.difference(set2) #求集合1和集合2的差集
print(set1)
print(set2)
print(set3) #新集合,差集


3.7 消除两个集合的差集
语法:集合1.difference_update(集合2)

对比集合1和集合2,在集合1内,删除和集合2相同的元素

集合1被修改,集合2不变(主要是集合1发生改变)

set1 = {1,2,3}
set2 = {1,5,6}
set1.difference_update(set2) #在集合1内消除与集合2相同的元素
print(set1) #打印被修改后的集合1
print(set2) #打印集合2


3.8 两个集合合并
语法:集合1.union(集合2)

将集合1和集合2组成新集合

得到新集合,集合1和集合2都不改变

set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.union(set2) #将集合1和集合2合并成新集合
print(set1)
print(set2)
print(set3) 

3.9 统计集合元素数量
语法:len(集合)

set1 = {1,2,3,3,4,4,5,5,6,6,7,8}
num = len(set1)
#集合有去重操作,重复的元素只算做一个
print(f"集合内的元素数量有:{num}个") 


3.10 集合的遍历
集合不支持下标索引,不能用while循环,只可以用for循环进行遍历

set1 = {1,2,3,3,4,4,5,5,6,6,7,8}
#for循环遍历集合
for element in set1:
    print(f"集合的元素有:{element}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值