- 前言
- 一、定义序列
- 二、序列的基本操作
- 1.通过索引操作序列元素
- 总结
前言
`
本章结涉及是一个新的概念:数据结构。数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是任何数据集类型,如数值、字符串、布尔类型等。在聘用合同语言中,最基本的数据结构是序列。序列的每一个元素都被分配一个编号,可以成这个编号为索引。序列的第一个索引为0,第二个索引为1,以此类推。本章节主要涉及的是列表和元组。
一、定义序列
Python中定义序列的语法与Java中的数组类似,使用一对中括号将序列中的元素括起来即可。
names=['Bill','Mark','Jerry'] #同一个序列中还可以包含不同的数据类型 values=['Bill',30,12.5,True] #序列的每一个元素还可以是另外一个序列,相当于定义一个二维或多维数组 names=['Bill','Mark'] num=[1,2,3] salary=[1000,2000,40000] flags=[True,False,True] values=[names,num,salary,flags,['a','b']] for value in values: print(value) print(values)
输出结果: ['Bill', 'Mark'] [1, 2, 3] [1000, 2000, 40000] [True, False, True] ['a', 'b'] [['Bill', 'Mark'], [1, 2, 3], [1000, 2000, 40000], [True, False, True], ['a', 'b']]
在上面的代码中,定义了四个序列(names,slasry,num,flag),然后把这4个序列作为values序列的元素值,而且values的最后一个元素是直接指定的字符诶行的序列,所以values一共有5个元素,每个元素都是一个序列,而且这些序列的元素个数不尽相同,这就形成了锯齿状的序列。
二、序列的基本操作序列支持很多特定的操作,这些操作素有类型的序列都能够使用,例如通过索引引用序列的元素(indexing)、分片、加、乘以及检查某个元素是否属于序列的成员。除此之外,Python语言还可以计算序列的长度,找出最大元素和最小元素,以及对序列迭代。
1.通过索引操作序列元素如前面所说,序列中的所有元素都是有编号的,编号从0开始递增,序列中的所有元素都可以通过编号访问,这个编号被称为索引。
1、访问并输出序列names中的第一个和 第三个元素 names=['Bill','mike','john','Jack'] print(names[0])#打印第一个元素 print(names[2])#打印第二个元素
输出结果: Bill mike
在上面的代码中通过索引0和2分别获取了names序列中的第一个和第三个元素值。此外Python语言中字符串也可以通过索引获取特定的字符。
2、通过索引获取并输出字符串s中的第一个和第四个字符,以及获取Apple的第三个字符 s='Hello world' print(s[0]) print(s[3]) print('Apple'[2])
通过input输入的字符串也可以通过索引引用其中的某个字符。
fourth=input('请输入年份:')[3] print(fourth)
输出结果: 请输入年份:2022 2
如果索引是0或者正整数,那么Python计会从序列左侧第一个元素开始取值,如果索引是负数,那么Python语言会从序列右侧第一个元素开始取值。序列最后一个元素的索引是-1,倒数第二个元素的索引是-2,以此类推
3、通过索引获取names序列中的第一个元素、以及通过负索引获取names倒数第一个和倒数第二个元素值。 names=['Bill','mike','john','Jack'] print(names[0]) print(names[-1]) print(names[-2])
注意:当索引超出序列的索引范围时,会抛出异常。
names=['Bill','mike','john','Jack'] print(names[-5]) print(names[5])
输出结果: --------------------------------------------------------------------------- IndexError Traceback (most recent call last)in () 1 names=['Bill','mike','john','Jack'] ----> 2 print(names[-5]) 3 print(names[5]) IndexError: list index out of range
4、输入年、月、日,并将月转换为中文输出,如输出的月份是4,要求输出‘4月’ #将中文月份放到序列中 months=[ '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月' ] year=input('年:') month=input('月(1-12):') day=input('日(1-31):') monthNames=int(month) monthName=months[monthNames-1] print(year+'年'+monthName+day+'日')
输出结果: 年:2022 月(1-12):6 日(1-31):21 2022年6月21日总结
本节和主要介绍了列表的部分知识,主要关于利用索引操作序列元素,通过索引可以操作数值、字符串、input输入以及负索引等。