Python学习笔记(五)——Python的元组

Python学习笔记(五)——Python的元组

  • 前言
  • 一、元组的表示形式
  • 二、“可变的”tuple
  • 总结


前言

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。


一、元组的表示形式

比如这个动物的列表用元组表示:animals = (“cat”, “dog”, “mouse”)
这个tuple不能变了,它没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,可以正常地使用animals[0], animals[1],但不能赋值成另外的元素。
如果要定义一个空的tuple,可以写成()
Python学习笔记(五)——Python的元组_第1张图片
要定义一个只有1个元素的tuple,写成t = (“a”),定义的不是tuple,是"a"!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是"a"。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义,因此元组的表示形式关键并不是括号( ),而是逗号“,”。所以 t = “a”, 也就表示一个元组。
Python学习笔记(五)——Python的元组_第2张图片

二、“可变的”tuple

一个元组 t = (‘a’, ‘b’, [‘A’, ‘B’]),这个tuple定义的时候有3个元素,分别是’a’,‘b’和一个list。,改变列表里的元素,其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
要创建一个内容也不变的tuple就必须保证tuple的每一个元素本身也不能变。
Python学习笔记(五)——Python的元组_第3张图片


总结

list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。

你可能感兴趣的:(Python学习笔记,列表,元组)