数据结构是计算机存储和组织数据的方式。
数据结构有很多种,其中使用最多的,是元组(tuple)、列表(list)、字典(dict)这三种。
本节课,我们将了解元组(tuple)。列表(list)、字典(dict)将在后两天的课程中详细学习。
元组里可以存储各种各样的数据类型,一个元组可以完全由整型、浮点型、字符串、布尔数构成。也可以由这几种数据类型的常量混合组成。
元组中的数据是有顺序的。也就是说,如图在calendar这个元组里面,排在第一位的是"1月1日",第二位是"1月2日",第三位的是"1月3日"。第四位的是"1月4日"。
当我们输出calendar[0]的时候,就得到了这个元组的第一个数据。像这样访问它内部数据的机制,叫做“索引”。 索引是在数据结构中用来定位和寻找数据的检索方式。索引就像中药柜子上的标签,用于准确找到某种药材。索引都是从0开始的。因此,第一个数据的索引为0,第二个数据的索引为1,以此类推。
倘若一个元组的元素非常多,我们想要寻找某一个数据,是不是在元组中,用肉眼看的方式非常麻烦。元组这样的数据结构,有一种运算方式,叫in运算符,可以进行快速判断。
numbers = (0,1,2,3,5,8,13,21,34,55,89,144,233,377)
result = 5 in numbers
print(result)
这3行操作,判断了5是否是元组中的一个元素。
第1行,定义了一个元组numbers。
第2行,进行一次in运算,判断5是否是元组numbers中的一个元素,将运算结果赋值给result
第3行,输出运算结果是True。
二道练习题
路飞是不是一班人
三年级一班的学生姓名("小明","小夜","小曲")存储在元组studentName中,使用in运算判断路飞是不是三年级一班的学生。若是,则输出“路飞是三年级一班的学生”;若不是,则输出“路飞不是三年级一班的学生”。
studentName = ("小明","小夜","小曲")
name = "路飞"
if {name} in studentName:
print("路飞是三年级一班的学生")
else:
print("路飞不是三年级一班的学生")身份证编码
小华的身份证编码如下:
id = ('5', '4', '0', '1', '0', '1', '1', '9', '9', '9', '0', '1', '0', '9', '*', '*', '*', '*')
我国18位身份证号码的7-14位表示出生年、月、日。请据此输出小华的生日。
1.通过索引的方式提取身份证号码的7-14位拼接,并分别赋值给year,month,day;
2.格式化输出{year}-{month}-{day}。
输出示例:1999-01-09Idcard = ("5","4","0","1","0","1","1","9","9","9","0","1","0","9","*","*","*","*")
year = Idcard[6] + Idcard[7] + Idcard[8] + Idcard[9]
month = Idcard[10] + Idcard[11]
day = Idcard[12] + Idcard[13]
print(f"{year}-{month}-{day}")
网友评论