Python 元组操作

#1.定义
# 元组 : 可以存储多个数据,且元组内的数据是不能修改的,数据可以是不同类型的
#对比列表,列表里的数据可以修改
tuple1 = (10, 20, 30)
print(tuple1)
print(type(tuple1))
#tuple1[0] = 100 #报错 TypeError: 'tuple' object does not support item assignment
#注意 : 定义单个数据元组时,数据后面一定要加一个逗号
#如果不加逗号,则数据类型不是元组,而是这个单个数据的数据类型
t1 = (12,)
print(type(t1)) #输出 <class 'tuple'>
t2 = (13)
print(type(t2)) #输出 <class 'int'>
#2.1 按照下标查找
tuple1 = ('aa', 'bb', 'cc', 'dd')
print(tuple1[1]) #输出 bb

#2.2 index() : 查找某个数据,如果数据存在,返回对应的下标
#否则报错,语法和列表/字符串的index()方法相同
print(tuple1.index('cc')) #输出 2

#2.3 count() : 统计某个数据在元组当中出现的次数
tuple2 = ('aa', 'bb', 'cc', 'bb', 'bb')
print(tuple2.count('bb')) #输出 3
print(tuple2.count('ddd'))#输出 0

#2.4 len() : 统计元组中数据的个数
print(len(tuple1)) #输出 4
print(len(tuple2)) #输出 5

#3 元组数据的修改
#当元组中嵌套了可变数据类型的时候,则可以修改可变数据类型的数据
t1 = ('aa', 'bb', ['cc', 'dd'])
print(t1)          #输出 ('aa', 'bb', ['cc', 'dd'])
print(t1[2][0])    #输出 cc
t1[2][0] = 'cccc'
print(t1)          #输出 ('aa', 'bb', ['cccc', 'dd'])
print(t1[2][0])    #输出 cccc
#3.容器类型的转换
#3.1 tuple() : 将某个序列转换为元组
list1 = [100, 200, 300, 400, 500]
set1 = {1, 2, 3, 4, 5, 3}
t1 = (11, 22, 33, 'aa', 'bb', 'dd')
# print(list1)          #输出 [100, 200, 300, 400, 500]
# print(set1)           #输出 {1, 2, 3, 4, 5}
# print(tuple(list1))   #输出 (100, 200, 300, 400, 500)
# print(tuple(set1))    #输出 (1, 2, 3, 4, 5)

#3.2 list() : 将某个序列转换为列表
# print(set1)
# print(t1)
# print(list(set1))  #输出 [1, 2, 3, 4, 5]
# print(list(t1))    #输出 [11, 22, 33, 'aa', 'bb', 'dd']

#3.3 set() : 将某个序列转换为集合
print(set(list1))    #输出 {100, 200, 300, 400, 500}
print(set(t1))       #输出 {33, 11, 'bb', 'dd', 'aa', 22}

 

### 元组的创建与基本操作 Python中的元组是一种不可变的有序序列,与列表类似,但创建后不能修改。元组可以通过多种方式创建: - 创建一个空元组: ```python empty_tuple = () ``` - 创建一个单元素元组(注意逗号的重要性): ```python single_tuple = (1,) ``` - 创建一个包含多个元素的元组: ```python my_tuple = (1, 2, 3, 'a', 'b') ``` - 从列表转换为元组: ```python another_tuple = tuple([1, 2, 3]) ``` 元组支持索引访问和切片操作: - 索引访问: ```python t = (1, 2, 3, 4, 5) print(t[0]) # 输出: 1 ``` - 切片操作: ```python print(t[1:3]) # 输出: (2, 3) ``` ### 元组的常用方法 元组提供了一些有用的方法来操作数据: - `count()` 方法用于统计元素出现的次数: ```python my_tuple = (1, 2, 2, 3, 4, 2) print(my_tuple.count(2)) # 输出:3 ``` - `index()` 方法用于查找元素第一次出现的索引: ```python print(my_tuple.index(3)) # 输出:3 ``` - `len()` 函数用于获取元组的长度: ```python print(len(my_tuple)) # 输出:6 ``` - `max()` 和 `min()` 函数分别用于获取元组中的最大值和最小值: ```python print(max(my_tuple)) # 输出:4 print(min(my_tuple)) # 输出:1 ``` - `sum()` 函数用于计算数值元组的总和: ```python prices = (19.99, 9.99, 4.99) print(sum(prices)) # 输出:34.97 ``` ### 元组与列表、字符串的转换 元组可以与列表和字符串相互转换: - 元组转列表: ```python t = (1, 2, 3) lst = list(t) print(lst) # 输出:[1, 2, 3] ``` - 列表转元组: ```python lst = [4, 5, 6] t = tuple(lst) print(t) # 输出:(4, 5, 6) ``` - 元组转字符串(适用于字符元组): ```python chars = ('P', 'y', 't', 'h', 'o', 'n') print(''.join(chars)) # 输出:Python ``` - 字符串转元组: ```python word = "Hello" print(tuple(word)) # 输出:('H', 'e', 'l', 'l', 'o') ``` ### 特殊场景应用 尽管元组是不可变的,但如果元组中包含可变类型的元素,这些元素的内容是可以被修改的。例如: ```python t1 = (1, [1, 2]) print(t1) # 输出: (1, [1, 2]) t1[1][0] = 0 t1[1][1] = 'a' print(t1) # 输出: (1, [0, 'a']) ``` ### 元组的连接与重复 元组支持连接和重复操作: - 连接元组: ```python new_t = t + (6, 7) print(new_t) # 输出: (1, 2, 3, 4, 5, 6, 7) ``` - 重复元组: ```python repeat_t = t * 2 print(repeat_t) # 输出: (1, 2, 3, 4, 5, 1, 2, 3, 4, 5) ``` ### 元组排序 虽然元组本身不可变,但可以通过 `sorted()` 函数返回一个排序后的列表: ```python unsorted = (3, 1, 4, 1, 5, 9, 2) sorted_list = sorted(unsorted) print(sorted_list) # 输出:[1, 1, 2, 3, 4, 5, 9] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值