目录
导入
数据结构
元组
索引
in运算
编辑
Debug
总结
导入
我们之前学习的变量可以存储1个数据,那当我们需要存储10个数据的时候该怎么办呢?写10个变量可以解决这个问题,但是太冗长。
数据结构
我们也可以如第2张图所示,用这样一个变量来存储10个数据。在Python中,有几种内置的“容器”,可以按不同的方式存储多个数据的集合。
这样的“容器”,称之为“数据结构”。
定义:数据结构是计算机存储和组织数据的方式。
隐喻:数据结构就像很多不同排列方式的抽屉,可以通过不同的方式存放数据。
数据结构有很多种,其中使用最多的,是元组(tuple)、列表(list)、字典(dict)这三种。
今天,我们将了解元组(tuple)。列表(list)、字典(dict)将在后两天详细学习。
元组
假设我们想要存储日期的数据,将“1月1日”,“1月2日”,“1月3日”,“1月4日”存储在一起,这时就可以使用元组(tuple)。
元组,是一种由多个数据组成的有序数据集合。它就像一排抽屉,我们可以在抽屉里面放不同的东西。
"1月1日","1月2日","1月3日","1月4日"使用元组存储在一起,可以写成如图的样子。我们来具体学习元组的代码写法。
这2行代码定义了一个calendar的元组,然后打印了这个元组。第1行给一个元组赋值了"1月1日", "1月2日", "1月3日", "1月4日"这四个日期;第2行打印了calendar这整个元组。
()
一个括号,是定义元组的固定格式。
元组的变量名
这串字母calendar是元组的变量名。
四个字符串
四个字符串,这里的四个字符串是元组包含的四个元素。
,
三个逗号,逗号是用来分隔元组里面各个元素的固定符号。
逗号右边的空格可有可无,我们这里添加空格是为了代码风格考虑。
元组里可以存储各种各样的数据类型,一个元组可以完全由整型、浮点型、字符串、布尔数构成。也可以由这几种数据类型的常量混合组成。
索引
元组中的数据是有顺序的。也就是说,如图在calendar这个元组里面,排在第一位的是"1月1日",第二位是"1月2日",第三位的是"1月3日"。第四位的是"1月4日"。
当我们输出calendar[0]的时候,就得到了这个元组的第一个数据。像这样访问它内部数据的机制,叫做“索引”。
定义:索引是在数据结构中用来定位和寻找数据的检索方式。
隐喻:索引就像中药柜子上的标签,用于准确找到某种药材。
可以通俗理解为索引是数据的位置。索引都是从0开始的。因此,第一个数据的索引为0,第二个数据的索引为1,以此类推。
可以通过中括号[]和索引的方式,直接访问到某一个位置的元素。如图,通过索引,直接输出了第一个元素和第二个元素。
in运算
倘若一个元组的元素非常多,我们想要寻找某一个数据,是不是在元组中,用肉眼看的方式非常麻烦。
元组这样的数据结构,有一种运算方式,叫in运算符,可以进行快速判断。
这3行操作,判断了5是否是元组中的一个元素。第1行,定义了一个元组numbers。第2行,进行一次in运算,判断5是否是元组numbers中的一个元素,将运算结果赋值给result。第3行,输出运算结果是True
numbers = (0,1,2,3,5,8,13,21,34,55,89,144,233,377)
result = 5 in numbers
print(result)
常量
判断这个数据,是否是元组中的一个元素。
元组
需要判断的5,是否是这一元组中的元素。
in运算符
in运算,进行5 是否是 numbers 中的元素的运算。
result
将in运算后的结果赋值给变量result,然后进行输出。in运算的结果,是一个布尔值(True/False)。
Debug
面对元组的处理,最常出现的错误是用索引访问元组中的数据时。如图,第2行报出了IndexError,索引错误。
因为元组一共有5个元素,因此索引的范围是0~4。不存在索引为5,会出现"out of range"报错。