python数据类型-元组

本文介绍了Python中的元组数据结构,包括定义(如空元组、单元素元组和嵌套元组)、访问与修改(元素不可变但可修改嵌套元素)、元组切片、拼接与运算(如+操作和内置函数应用),以及元组的查询、排序等方法。
摘要由CSDN通过智能技术生成

1 元组(tuple)的定义

元组是集合类型,和列表类似,元组中的元组类型可以不同,元素间用逗号隔开,和列表的不同之处在于:
1 元组的元素不可改变,也被称为只读列表
2 且元组用括号()表示,列表用方括号[]表示
注:无任何符号对象,以逗号分割,也被默认为元组
当定义只含单个元素的元组时,需在元素后面加上逗号

my_tuple = ()  # 定义一个空元组
print(my_tuple, type(my_tuple))  # () <class 'tuple'>

undefine_any = 1, 'henry', 'Tom'
print(undefine_any, type(undefine_any))  # (1, 'henry', 'Tom') <class 
'tuple'>

tu1 = (1)
print(type(tu1)) # <class 'int'>
tu2 = (1,)
print(type(tu2)) # <class 'tuple'>

2 元组查询

1)可以通过索引的方式来访问特定位置上的元素,语法 tupel[index]
2)元组切片,tuple(startIndex,endIndex),左闭右开,即从开始的索引位置开始截取,包含开始位置的元素,到结束索引的位置结束,但不包含结束位置的元素。
3)循环内遍历元组,for
示例代码如下:

my_tuple = (1, 2, 'henry', 'Tom', '2022 - 01 - 02')
print(my_tuple[2])  # henry
print(my_tuple[-1])  # 2022 - 01 - 02
print(my_tuple[1:3])  # (2, 'henry')

my_tuple = (1, 2, 'henry', 'Tom', [11, 22, 33, 'henry'])
for item in my_tuple:
    print(item)

3 元组"修改"

1)元组中的元素不可修改,但是其元素的元素(元组可以嵌套)为可变类型时则可以修改

my_tuple = (1, 2, 'henry', 'Tom', [11, 22, 33, 'henry'])
# my_tuple[0] = 0  # 报错:TypeError: 'tuple' object does not support item assignment
my_tuple[4][0] = 'Sam'  # 修改元组中的列表
print(my_tuple)  # (1, 2, 'henry', 'Tom', ['Sam', 22, 33, 'henry'])

2)元组中的元素不可删除,但可以删除整个元组

my_tuple = (1, 2, 'henry', 'Tom', [11, 22, 33, 'henry'])
# del my_tuple[0] # TypeError: 'tuple' object doesn't support item deletion
del my_tuple

4 元组运算&操作

+:拼接两个元组
in /not in : 布尔判断,返回True / Flase
sorted(元组,规则):排序
count(元素):统计某一元素在元组中出现的次数,tuple.count(元素)

tuple1 = (1, 2, 3, 'Tom')
tuple2 = (4, 5, 6, 'henry')
tuple3 = tuple1 + tuple2
print(tuple3)  # (1, 2, 3, 'Tom', 4, 5, 6, 'henry')
flag = 1 in tuple1
print(flag, len(tuple1))  # True  4

def_tuple = ("2c", "3a", "1b", "3d")
# 先按第一个字符排序,若相同,再按第二个字符排序
ss = sorted(def_tuple, key=lambda x: (x[0], x[1]))
print(ss)  # ['1b', '2c', '3a', '3d']

其它内置函数:
在这里插入图片描述

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值