前言:
如今咱们对“python怎么输出序列”大约比较看重,大家都想要知道一些“python怎么输出序列”的相关知识。那么小编在网摘上收集了一些关于“python怎么输出序列””的相关资讯,希望朋友们能喜欢,姐妹们一起来了解一下吧!在前一节介绍了Python中的容器的序列,本节将介绍几种适合Python序列(字符串、列表、元组)的通用操作。即我们在Python基础编程——字符串的使用一节中介绍的索引、切片、序列相加、乘法、成员资格等。本节的所有的内容,将以列表的操作来说明。
PS:本节主要在于复习之前的内容,可两节一起阅读,更有助于理解Python序列的通用操作。
索引
列表中所有的元素都是有编号的,称之为索引。从左到右、从零开始。可以使用索引值来访问列表中的元素,如下所示:
之前介绍的input函数获取用户输入的信息,其返回值是一个字符串序列,我们也可通过索引获取用户输入的部分信息。如下所示:
上述代码中获取了输入年份的第四位元素值,即索引值为3的索引对应的字符。
下面介绍一个输入年、月、日,然后按照指定格式输出的小程序date_format.py,具体如下所示:
date_format.py# 存储月的months列表months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]# 存储日的endings列表endings = ['st', 'nd', 'rd'] + 17 * ['th'] + ['st', 'nd', 'rd'] + 7 * ['th'] + ['st']# 获取用户输入year = input('Year:')month = input('Month(1—12):')day = input('Day(1-31):')# 将input函数获取到的字符串转换成数字year_number = int(year)month_number = int(month)day_number = int(day)# 获取正确的月和日的month_name = months[month_number - 1]day_name = day + endings[day_number - 1]print(month_name, day_name, year_number)程序执行结果如下所示:Year:2021Month(1—12):2Day(1-31):26February 26th 2021
切片:
除了使用索引来访问列表中的元素,也可以使用切片的方式来访问指定索引范围内的元素,正如字符串切片中所介绍的那样,在列表中的切片示例如下所示:
当指定步长时,切片如下所示:
如果切片的结果需要包含第一个元素,则可以省略第一个索引,如下所示:
如果切片的结果包含最后一个元素,则可以省略最后一个索引,如下所示:
由于进行切片时,切片的结果不包括最后一个元素,如果要指定结束索引,则可以使用内置len函数获取列表的长度,然后将其作为结束索引,如下所示:
如果要复制列表,则可以省略起始索引和结束索引,如下所示:
序列相加
和之前介绍的字符串拼接一样,可以使用拼接符(+)来相加两个列表,两个列表相加后,返回一个新的列表,如下所示:
从上图的结果可以看出,两个列表相加后,新的列表的元素包含了原来列表的所有元素。
当两个列表中存在重复的元素时,两个列表相加后,会出现什么情况呢?如下所示:
从上图中可以两个列表相加后,新的列表中包含了原来两个列表中的所有元素(包括重复的元素),这是因为,列表中的元素是有索引值的,虽然元素值相同,当时索引不同。
当不同类型的序列相加会出现什么情况呢?例如:列表和字符串,具体如下所示:
这时解释器会报TypeError——类型错误。通常来说,不能拼接或者相加两个不同类型的序列。
乘法
在字符串中介绍了字符串的乘法,即将字符串重复N次,并输出新的字符串,在列表中是否一样呢?具体如下所示:
可以看到与字符串的乘法相同,列表的乘法将原来的列表重复了N次,乘法实际就是进行了N - 1次自加法运算。
成员资格
列表的成员资格与字符串的成员资格相同,使用in和not in运算符判断成员资格,具体示例,如下所示:
列表元素类型
由于列表是一种容器,因此列表可以包含其他的类型的数据,即列表中的元素可以是字符串、数字、列表、元组、字典等,如下所示:
PS:在对列表进行成员资格运算时,一定要注意元素的对象,如下所示:
上图中south_cites是一个列表,在cites中没有这样的列表元素,只有字符串元素,因此成员资格运算时返回的结果为False。
实例
一个关于成员资格的小程序实例,具体如下所示:
cites = [ ['成都', 'Chengdu'], ['重庆', 'Chongqing'], ['西安', 'Xian'], ['昆明', 'Kunming']]chinese_name = input('请输入城市的中文名:')english_name = input('请输入城市的英文名:')city_name = [chinese_name, english_name]if city_name in cites: print('恭喜你,猜对了!')else: print('很抱歉,猜错了。')程序执行结果如下所示:请输入城市的中文名:成都请输入城市的英文名:Chengdu恭喜你,猜对了!总结
本节主要介绍了序列的通用操作:
索引切片加法乘法成员资格
从本节开始,将会有一些小程序文件,如果需要可以关注并留言或者私信小编。欢迎大家关注、转发、订阅、点评!
标签: #python怎么输出序列 #python怎么输入序列