内容正文:
第5章 列表与元组
通用序列操作
列表:灵活的容器
实战6:定制每日运动计划
元组:不可变序列
实战7:简易购物系统
掌握序列的通用操作
掌握列表的创建及常用操作
掌握元组的创建及常用操作
理解列表与元组的区别
学 习 目 标
LEARNING OBJECTIVES
初心至善 匠心育人
5.1
通用序列操作
索引与切片
相加与重复
成员归属
长度及最值
查找与统计元素
初心至善 匠心育人
目录
Contents
5.1 通用序列操作
序列是指一块可存放多个值的连续内存空间,这些值按照一定的顺序排列,可以通过每个值所在位置的编号访问它们。
字符串可以看做单一字符的有序组合,是基本的数据类型(已讲解)。
元组是包含0个或多个数据项的不可变序列类型,一旦生成,不能替换或删除。
列表是可以修改数据项的序列类型,是非常灵活的容器。
序列的通用操作:索引与切片、相加与重复、成员归属、长度及最值、查找与统计元素。
初心至善 匠心育人
5.1 通用序列操作
序列中,每个元素都有属于自己的编号,即索引,索引值从0开始递增。索引的计数可以从左到右递增的计数,也可以从右到左以负数的形式计数。
5.1.1 索引与切片-序列索引
初心至善 匠心育人
5.1 通用序列操作
列表是由一组任意类型的值组合而成的序列,组成列表的值称为元素,列表的用方括号表示,元素之间用逗号隔开。元组是由一组任意类型的值组成的不可变序列,用圆括号表示,元素之间用逗号隔开。
5.1.1 索引与切片-序列索引
list01 = [1,2,"Python","千锋"]
print("list01[3]:",list01[3]) #取列表的第4个元素,即索引值为3的元素
print("list01[-1]:",list01[-1]) #列表第4个元素也是最后1个元素,负索引值是-1
list01[3]: 千锋
list01[-1]: 千锋
初心至善 匠心育人
5.1 通用序列操作
切片是指从序列中截取部分元素组成新的序列,且不会使原序列产生变化。
5.1.1 索引与切片-序列切片
seq[start:end:step]
seq为序列名称,返回索引为start到end(不包括end),步长为step的子序列。start不传值时默认为0,end不传值时默认为序列长度,step不传值时默认为1。
初心至善 匠心育人
5.1 通用序列操作
5.1.1 索引与切片-序列切片
list01 = [1,2,"Python","千锋"]
print("list01[1:3]:",list01[1:3])
print("list01[:3]:",list01[:3])
print("list01[::2]",list01[::2])
list01[1:3]: [2, 'Python']
list01[:3]: [1, 2, 'Python']
list01[::2] [1, 'Python']
初心至善 匠心育人
5.1 通用序列操作
Python支持两种相同类型的序列进行相加操作,即用加(+)运算符将序列连接起来。
5.1.2 相加与重复-序列相加
list01 = ["蒸南瓜","熘茭白","带鱼"]
list02 = ["油泼肉","三鲜丸子"]
print(list01 + list02)
['蒸南瓜', '熘茭白', '带鱼', '油泼肉', '三鲜丸子']
两个列表相加
初心至善 匠心育人
5.1 通用序列操作
如果不同类型的序列进行相加,程序将会异常。
5.1.2 相加与重复-序列相加
list01 = ["蒸南瓜","熘茭白","带鱼"]
sname = "油泼肉"
print(list01 + sname)
Traceback (most recent call last):
File "C:\1000phone\parter5\demo1.py", line 3, in <module>
print(list01 + sname)
TypeError: can only concatenate list (not "str") to list
列表类型和字符串类型相加
初心至善 匠心育人
5.1 通用序列操作
序列乘一个数字n将会生成一个新的序列,在新的序列中,原序列将会被重复n次。
5.1.2 相加与重复-序列重复
print("Python"*5) #字符串"Python"重复5次
print(["Python"]*5) #列表["Python"]重复5次
print(("Python",1)*5) #元组("Python",1)重复5次
PythonPythonPythonPythonPython
['Py