python内置数据结构之tuple

本文详细介绍了Python中元组的基本概念,包括定义、初始化、访问和查询等操作,同时深入探讨了命名元组的使用,展示了如何利用命名元组简化代码并提高可读性。
元组tuple

元组是一个有序元素组成的集合
使用小括号()表示
元组是不可变对象

元组的定义、初始化

定义

  • tuple()-> empty tuple
  • tuple(iterable)->tuple initialized from iterable’s items
new1=tuple()
new2=tuple(range(5))
new3=tuple([1,3,4,2])
new4=(1,)  # 单个元素元组必须加逗号否则认为是普通元素
print(new1)
print(new2)
print(new3)
print(new4)

在这里插入图片描述

元组的访问
  • 支持索引
  • 正索引:从左到右,从0开始,为每一个元素编号
  • 负索引:从右到左,从-1开始
  • 正负索引不可以超界,否则引发异常indexError
  • 元组通过索引访问
    • tuple[index],indexj就是索引,使用中括号访问
元组查询

index(value,[start,[stop]])

  • 通过值value,从指定区间查找元组内的元素是否匹配
  • 匹配第一个就立即返回索引
  • 匹配不到,抛出异常ValueError
    count(value)
  • 返回元组中匹配value的次数
    时间复杂度
  • index和count方法都是O(n)
  • 随着元组数据规模的增大,而效率下降
元组其它操作
  • 元组是只读的,所以增删改方法都没有
命名元组
  • 帮助文档中,查阅namedtuple,有使用例程
  • namedtuple(typename,field_names,verbose=False,rename=False)
    • 命名元组,返回一个元组的子类,并定义了字段
    • field_names可以是空白字符或逗号飞哥的字段的字符串,可以是字段的段表
from collections import namedtuple
Point=namedtuple('_Point',['x','y'])
p=Point(11,22)
Student=namedtuple('Stu','name age')
tom=Student('tom',20)
jerry=Student('jerry',18)
print(tom.name,jerry.age)

在这里插入图片描述
定义了一个元组,外表名称和实际名称不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值