Python-Tuple元组

什么是元组

元组由简单的对象构成,与列表类似,都是序列。但是元组是不可变的序列,不可以在原处对其修改,这一点与字符串一样。
元组不支持任何的方法调用,但是支持大多数的序列操作,也就是说列表、字符串等的序列操作对其都有效,具有以下的属性:

  • 任意对象的有序组合
  • 通过索引进行读取
  • 属于不可变序列的类型
  • 固定长度、异构、任意嵌套
  • 对象引用的数组

如何读取元组中的信息?

元组的读取和列表一样,使用索引法即可。区别在于,元组是不可变序列,一旦生成就是不变的了。

>>> student=('Athena','Kimi','Lucy')
>>> student[0]
'Athena'

如何创建一个元组

Python3.0支持以下的元组创建方法:
-圆括号与逗号创建法
-使用单个逗号创建单个元素元组
-使用内建tuple(iterable)构造

1.圆括号与逗号创建法

使用圆括号创建一个元组,然后使用逗号将每个元素隔开

>>> student=('Athena','Kimi','Lucy')
>>> student[0]
'Athena'

在元组中很多人有一个误解,认为是圆括号才是创建元组的标志,实际上
逗号才是创建元组的标志!

上面这个例子,使用逗号,不使用圆括号也是可以创建的。

>>> student='Athena','Kimi','Lucy'
>>> student[0]
'Athena'

切记!逗号创建元组,而非括号!

2.使用逗号创建单个元素元组

上面我们已经了解到了逗号是创建元组的标志,下面这个例子会更加证明这个概念。
创建一个只有一个元素的元组

>>> chinese_teacher='Zeus',
>>> chinese_teacher[0]
'Zeus'
>>> type(chinese_teacher)            #使用type查看变量的类型
<class 'tuple'>
>>> chinese_teacher=('Zeus')  #单单使用括号不会创建成元组类型
>>> chinese_teacher[0]          #这是字符串
'Z'
>>> type(chinese_teacher)
<class 'str'>

单个元素的元组,一定要使用一个逗号,来标识。

3.使用tuple()构建元组

tuple(iterable)中的iterable,可以是

  • 列表
  • 序列
  • 元组
  • iterable对象
  • 一个可以迭代的容器
>>> math_teacher=tuple(['Bob','Tom','Jack']) #列表
>>> math_teacher[0]
'Bob'
>>> class_number=tuple('123456')              #字符串
>>> class_number[0]
'1'
>>> pe_teacher=tuple(math_teacher)           #元组
>>> pe_teacher
('Bob', 'Tom', 'Jack')
>>> music_teacher=tuple(person for person in ['Allen','Amy'])         #可迭代的对象--列表解析表达式
>>> music_teacher
('Allen', 'Amy')

如果tuple中没有参数,就会创建一个空的元组

>>> chariman=tuple()
>>> chariman
()

4.创建空元组的方法

1.使用一对空的圆括号

>>> chairman=()
>>> chariman
()
>>> type(chairman)
<class 'tuple'>

2.使用tuple()构造函数但是却不带参数。

>>> chairman=tuple()
>>> chairman
()
>>> type(chairman)
<class 'tuple'>

实际应用中的元组

元组的本质仍旧是序列,所以支持字符串和列表的一般序列方法,对于元组也同样有效,比如合并、重复、分片、索引等
元组和字符串,列表一样,都是有序的序列。

元组自身自持的方法不多,一共就只有两个

  • -tuple.count(value)
  • -tuple.index(value)

元组存在的意义

Python的创造者把元组看成了简单的数据合集,将列表看成了随着时间会发生改变的数据结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值