python中元组(tuple)的基本操作

本文介绍了Python中的元组,包括创建空元组和带有元素的元组,以及元组的不可变性,强调了单元素元组的特殊创建方式。文章还讨论了元组的索引、切片、嵌套和连接、重复的操作,并展示了如何通过列表转换来变相修改元组内容。此外,提到了元组的内置方法如`index`和`count`,以及使用`sorted`函数对元组排序的方法。

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

python中的元组是有序且不可更改的集合。并且其是用圆括号进行编写。本文主要包括元组的创建、访问、添加、删除、索引等。

1、元组的创建

#创建空元组
tuple1 = () #直接使用圆括号创建
tuple2 = tuple() #使用tuple函数
#创建带有元素的元组
t1 = (1, 2, 3, 5, 6)
t2 = 7, 8, 9, 10  #可以不用圆括号
#注意在创建只有一个元素的元组的时候,一定要在元素后面添加括号
t3 = ('a',)
#如果不添加则是字符串,而不会是元组,
t3 = ('a')
print(type(t3))   #‘str’

2、索引,(1)可以对元组中的值按照索引进行检索 (2)元组也支持负索引 (3)元组也可以进行切片,遵循左闭右开的原则

tuple1 = (1, 9, 4, 9, 10, 1)
print(tuple1[2])
#打印:4
print(tuple1[-1])
#打印:1
print(tuple1[1:5])
#打印:(9, 4, 9, 10)

3、元组具有不可变性,这样就意味着元组创建后,我们无法对元组中的元素进行更新,无法修改其中的元素。

tuple_str = ('a', 'b', 'c', 'd', 'e')
# tuple_str[2] = 'good' # 报错

如果我们想对其内容进行修改,则可以利用剪切然后拼接的方式,也可以将元组转化为list。

x = tuple_str[0:2]
i = ('good',)
y = tuple_str[3:]
x = x + i + y
print(x) #打印:('a', 'b', 'good', 'd', 'e')

#利用list
list1 = list(tuple_str)
list1[2] = 'good'
x = tuple(list1)
print(x) #打印:('a', 'b', 'good', 'd', 'e')

4、元组也可以进行嵌套,可以接受列表、元组以及字典的嵌套,也可以接受不同数据类型。

a = [1, 2, 3]
b = ('a', 'b', 'c')
c = {'a': 1, 'b': 2, 'c': 3}
default_t = (1, a, b, c)
print(default_t)  #打印:(1, [1, 2, 3], ('a', 'b', 'c'), {'a': 1, 'b': 2, 'c': 3})
default_t1 = (1, "a", 'cde', 1.2)
print(default_t1) # 打印:(1, 'a', 'cde', 1.2)

5、元组之间可以使用 +(连接元组元素)、*(重复元组元素)

default_t = ('apple', 'banana')
default_t2 = (1, 2)
default_t3 = ('phone', 'compute')
print(default_t + default_t2 + default_t3)
#打印:('apple', 'banana', 1, 2, 'phone', 'compute')
print(default_t * 3) # ('apple', 'banana', 'apple', 'banana', 'apple', 'banana')
print(default_t2 * 2)  # (1, 2, 1, 2)

6、元组的基础方法:
len(tuple):元组中元素的数量
max(tuple):  返回元组中的最大值
min(tuple):  返回元组中的最小的元素
type(tuple):  查看数据类型
tuple() :  将可迭代对象转换为元组

default_t = ('a', 1, 'b', ('2', 'c', 3))
default_t2 = ('a', 'b', 'c')
default_t3 = ('a', 1, 2, 'b')

print(len(default_t))   # 4
print(len(default_t2))  # 3
print(len(default_t3))  # 4

print(max(default_t2))  #打印:c


print(min(default_t2)) #打印:a

print(type(default_t))   #打印:tuple

7、元组中的内置方法:
index:  返回某一元素在元组中第一次出现的索引值。
count:  统计某一元素在元组中出现的次数。
__add__:  在元组后面追加新的元组,与 + 类似。
__mul__ :方法重复元组元素,与 * 类似
__contains__ :方法判断某一元素是否包含在元组中,是则返回 True , 否则返回 False ,与 in 、not in 类似。

default_t = ('a', 1, 'b', (1, 'c', 3))
print(default_t.index('b'))  # 输出: 2
print(default_t.count(1))  #输出: 1

8、使用 sorted 函数对元组进行排序。

default_t3 = ('a', '11', '2', 'bbb')
print(sorted(default_t3))  # 注意:排序需要元组中元素数据类型一致
print(default_t3)
print(sorted(default_t3, key=lambda x:len(x)))  #按照元素的长度进行排序
print(default_t3)

### Python 中元的特性与使用教程 #### 定义和创建元组Python 中,元组是一种不可变的数据结构,用于存储有序的项目集合。一旦创建之后,就不能更改其中的元素[^1]。 可以使用圆括号 `()` 来定义一个元组: ```python empty_tuple = () # 创建元组 single_item_tuple = ("only",) # 单项元组需加逗号区分于普通括号表达式 mixed_type_tuple = (1, "string", True, None) # 可混合不同类型数据 ``` #### 访问元组中的值 可以通过索引来访问元组内的特定位置上的元素,支持正向和负向两种方式定位成员;同时也允许切片获取子序列。 ```python sample_tuple = ('a', 'b', 'c', 'd') first_element = sample_tuple[0] # 获取第一个元素'a' last_two_elements = sample_tuple[-2:] # 切取最后两个元素('c','d') ``` #### 不可变性 值得注意的是,由于元组具有不可改变的特点,在尝试重新赋值给已存在的某个下标的变量时会抛出异常[^2]。 ```python immutable_example = (789, "hello") try: immutable_example[0] = 456 # 这里会产生TypeError错误提示 except TypeError as e: print(f"Error occurred: {e}") ``` 不过这并不意味着完全无法操作元组——虽然单个元素不可以被替换,但是整个对象还是能够参与诸如拼接之类的运算从而形成新的实体。 ```python tuple_a = (1, 2) tuple_b = tuple_a + (3,) # 结果为(1, 2, 3),原tuple_a保持不变 print(tuple_a) # 输出:(1, 2) print(tuple_b) # 输出:(1, 2, 3) ``` #### 应用场景 鉴于其固定性的特点,当需要保存一不会变化的数据集时非常适合采用元组形式。比如数据库记录、配置参数等场合都可能见到它们的身影[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值