700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python从入门到精通-新手学习笔记-第五章 列表与元组

python从入门到精通-新手学习笔记-第五章 列表与元组

时间:2019-05-23 10:06:09

相关推荐

python从入门到精通-新手学习笔记-第五章 列表与元组

一、序列概述

序列是按照一定顺序排列,用于存放多个值的连续内存空间。每个值都分配一个数字,被称为索引或位置。通过该索引取出对应的值。

序列结构主要有列表,元组,集合,字典,字符串。(集合与字典不支持索引、切片、相加和相乘操作)

5.1.1索引 :序列中的每一个元素都有一个编号,也称为索引。这个索引从0开始递增,下标为0表示第一个元素,这个与数组下标类似,不同的是python的索引可以为负数。需要注意的是负数索引是从右往左计数,且下标从-1开始。这是为了防止与第一个元素重合。

在这里插入代码片verse=["自古逢秋悲寂寥","我言秋日胜春朝","晴空一鹤排云上","便引诗情到碧霄"]>>> print(verse[2])晴空一鹤排云上>>> print(verse[-1])便引诗情到碧霄>>> print(verse[-4])自古逢秋悲寂寥>>>

5.1.2 切片切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。通过切片操作可以生成一个新的序列。实现切片操作的语法格式如下:sname[start:end:step]start:切片开始位置(包括该位置),如果没有指定,默认为0;end:切片截止位置(不包括该位置),无指定,默认为序列长度;step:切片的步长,省略则默认为1,当省略该步长时,最后一个冒号也可以省略。想复制整个序列,可以将start,end都省略,,但是冒号得留着。

在这里插入代码片:verse=["自古逢秋悲寂寥","我言秋日胜春朝","晴空一鹤排云上","便引诗情到碧霄","青青园中葵","朝露待日晞","阳春布德泽","万物生光辉","常恐秋节至","焜黄华叶衰"]>>> print(verse[1:9:2])['我言秋日胜春朝', '便引诗情到碧霄', '朝露待日晞', '万物生光辉']>>> print(verse[0:9])['自古逢秋悲寂寥', '我言秋日胜春朝', '晴空一鹤排云上', '便引诗情到碧霄', '青青园中葵', '朝露待日晞', '阳春布德泽', '万物生光辉', '常恐秋节至']>>> print(verse[:])['自古逢秋悲寂寥', '我言秋日胜春朝', '晴空一鹤排云上', '便引诗情到碧霄', '青青园中葵', '朝露待日晞', '阳春布德泽', '万物生光辉', '常恐秋节至', '焜黄华叶衰']>>> >>>

5.1.3序列相加...+...同类型可相加(同为列表、元组、字符串等)但是不能是列表与元组相加,或者列表与字符串相加。

在这里插入代码片:>>> verse1=["自古逢秋悲寂寥","我言秋日胜春朝","晴空一鹤排云上","便引诗情到碧霄"]>>> verse2=["青青园中葵","朝露待日晞","阳春布德泽","万物生光辉","常恐秋节至","焜黄华叶衰"]>>> print(verse1+verse2)['自古逢秋悲寂寥', '我言秋日胜春朝', '晴空一鹤排云上', '便引诗情到碧霄', '青青园中葵', '朝露待日晞', '阳春布德泽', '万物生光辉', '常恐秋节至', '焜黄华叶衰']>>>

5.1.4 相乘在python中,使用数字n乘以一个序列会产生新的序列。新序列的内容为之前序列重复n次的结果。

在这里插入代码片:>>> verse=["晴空一鹤排云上","便引诗情到碧霄"]>>> print(verse*3)['晴空一鹤排云上', '便引诗情到碧霄', '晴空一鹤排云上', '便引诗情到碧霄', '晴空一鹤排云上', '便引诗情到碧霄']>>>

5.1.5 检查某个元素是否是序列的成员(这个序列里是否有这个元素)语法格式:value in sequence(元素 in 序列)

在这里插入代码片:>>> verse=["晴空一鹤排云上","便引诗情到碧霄"]>>> print("晴空一鹤排云上"in verse)True>>> print("晴空一鹤排云上"not in verse)False>>>

5.1.6 计算序列的长度、最大值、最小值在python中,提供了内置函数计算序列的长度、最大值、最小值。len()函数 max()函数 min()函数list()函数:将序列转化为列表str()函数:将序列转换为字符串sum()函数:计算元素和sorted()函数:对元素进行排序reversed()函数:反序序列中的元素enumerate()函数:将序列组合为一个索引序列,多用在for循环中。

在这里插入代码片:num=[7,14,6,7,9,3,5]>>> print(len(num))7>>> print(min(num))3>>> print(max(num))14>>> print("序列",num,"中的最大值为",max(num))序列 [7, 14, 6, 7, 9, 3, 5] 中的最大值为 14

二、列表

列表:由一系列按照特定顺序排列的元素组成。python内置的可变序列。 python的列表非常灵活,这一点与其他语言不同

5.2.1列表的创建与删除1.使用赋值运算符直接创建列表语法格式:listname=[element1,element2,element3,.....,element n]

在这里插入代码片:>>> num=[2,4,6,3,7,9,12,14,16,13]>>> verse=["晴空一鹤排云上","便引诗情到碧霄"]>>> untitle=['python',20,"我用python",["爬虫","自动化运维","云计算"]]>>> python=['优雅',"明确"]>>>

2.创建空列表:emptylist=[]3.创建数值列表 list(data) data表示可以转换为列表的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据。

在这里插入代码片:>>> list(range(1,20,2))[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]>>>

4.删除列表del语句将其删除。 del listname (不过del语句实际并不常用,因为python对于不用的列表有自动销毁的回收机制)

在这里插入代码片:>>> print(untitle)['python', 20, '我用python', ['爬虫'], '自动化运维', '云计算']>>> print(untitle[2])我用python>>>

丢了一部分内容,不想写了…

列表推导式

1.生成指定范围的数值列表语法格式:

list=[expression for var in range]

在这里插入代码片:>>> import random>>> randomnumber=[random.randint(10,100)for i in range(10)]>>> print("生成的随机数为:",randomnumber)SyntaxError: invalid character in identifier>>> print("生成的随机数为:",randomnumber)生成的随机数为: [32, 56, 36, 42, 56, 97, 11, 13, 14, 25]>>>

2.根据列表生成指定需求的l列表

newlist=[expression for var in list]

在这里插入代码片:>>> price=[1200,5330,3456,2486,8888]>>> sale=[int(x*0.5)for x in price]>>> print("原价格",price)原价格 [1200, 5330, 3456, 2486, 8888]>>> print("打五折",sale)打五折 [600, 2665, 1728, 1243, 4444]>>>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。