目录
3.1遍历整个列表,用for循环打印
3.1.1对列表magicians中每一位魔术师,都将其名字打印出来
3.1.2 for循环按顺序执行并总结性输出
3.2使用函数range()
3.2.1range()函数基本用法
3.2.2使用range()创建数字列表
3.2.3对数字列表执行简单的统计计算
3.2.4列表解析
3.3使用列表的一部分
3.3.1切片
3.3.2遍历切片
3.3.3复制列表
3.4元组
3.4.1定义元组及遍历
3.4.2修改元组的变量
3.1遍历整个列表,用for循环打印
3.1.1对列表magicians中每一位魔术师,都将其名字打印出来
magicians=['alice','david','carolina']
for magician in magicians:
print(magician)
alice
david
carolina
3.1.2 for循环按顺序执行并总结性输出
magicians=['alice','david','carolina']
for magician in magicians:
print(magician)
alice david carolina
3.1.2 for循环按顺序执行并总结性输出
¥两个函数print()都缩进了,因此它们都将针对列表中的每一个魔术师执行一次。
¥第二个print()有换行符"n"。
¥第三个函数print()没有缩进,因此只执行一次。
magicians=['alice','david','carolina']
for magician in magicians:
print(f"{magician.title()},that was a great trick!")
print(f"I can't wait to see you next trick,{magician.title()}.n")
print("Thank you everyone,That was a great magic show!")
Alice,that was a great trick! I can't wait to see you next trick,Alice. David,that was a great trick! I can't wait to see you next trick,David. Carolina,that was a great trick! I can't wait to see you next trick,Carolina. Thank you everyone,That was a great magic show!
3.2使用函数range()
3.2.1range()函数基本用法
python从指定的第一个值开始数,并且达到你指定的第二个值时停止。
range(初始值,结束地址),地址由0开始数。
for value in range(1,5):
print(value)
1 2 3 4
3.2.2使用range()创建数字列表
1.使用函数list()将range()的结果直接转换为列表。
如果将range()作为list()的参数,输出将是一个数字列表。
numbers=list(range(1,11)) print(numbers) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2.使用range()函数时,还可指定步长
range(初始值,结束地址,步长)
num=list(range(2,11,2)) print(num) [2, 4, 6, 8, 10]
3.使用range()函数几乎能够创建任何需要的数集
例如创建一个列表,其中包含前十个整数(1~10)的平方
squares=[]
for value in range(1,11):
square=value**2
squares.append(square)
#squares.append(value**2)
print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.2.3对数字列表执行简单的统计计算
有几个专门用于处理数字列表的python函数。例如
找出列表的
min() 最小值
max() 最大值
sum() 总和
digits=[7,4,1,2,5,8,9,6,3] print(max(digits)) print(min(digits)) print(sum(digits))
9 1 45
¥考虑到版面原因,虽然实例的数字列表很短,但此知识也适用于包含数百万个数的列表。
3.2.4列表解析
将for循环和创建的新元素代码合并成一行,并且自动附加新元素。
展示上文的平方书列表
squares=[value**2 for value in range(1,11)] print(squares) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.3使用列表的一部分
3.3.1切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与range()函数一样,python在到达第二个索引之前的元的后停止。
也可简单理解如下列函数所示
players[起始地址:结束地址]
起始位置或结束位置可不写,默认第一个或最后一个元素。
如果要输出名单上最后三名队员,可使用切片players[-3:];
players=['amy','bye','cid','dli','eju'] print(players[:]) print(players[:3]) print(players[2:]) print(players[2:3]) print(players[-3:])
['amy', 'bye', 'cid', 'dli', 'eju'] ['amy', 'bye', 'cid'] ['cid', 'dli', 'eju'] ['cid'] ['cid', 'dli', 'eju']
3.3.2遍历切片
在for循环中使用切片,遍历前三名队员并打印他们的名字。
#遍历切片
players=['amy','bye','cid','dli','eju']
for player in players[:3]:
print(player)
amy bye cid
3.3.3复制列表
要复制列表,可创建一个包含整个列表的切片。
这让python创建一个始于第一个元素、终于最后一个元素的切片,即整个列表的副本。
#复制列表
players=['amy','bye','cid','dli','eju']
players_1=players[:]
print(players)
print(players_1)
players.append('jio')
players_1.append('kio')
print(players)
print(players_1)
['amy', 'bye', 'cid', 'dli', 'eju'] ['amy', 'bye', 'cid', 'dli', 'eju'] ['amy', 'bye', 'cid', 'dli', 'eju', 'jio'] ['amy', 'bye', 'cid', 'dli', 'eju', 'kio']
那如果不是复制副本又会怎样呢
#只赋值变量,不赋值副本,且左赋右
players=['amy','bye','cid','dli','eju']
players_1=players
print(players)
print(players_1)
players.append('jio')
players_1.append('kio')
print(players)
print(players_1)
['amy', 'bye', 'cid', 'dli', 'eju'] ['amy', 'bye', 'cid', 'dli', 'eju'] ['amy', 'bye', 'cid', 'dli', 'eju', 'jio', 'kio'] ['amy', 'bye', 'cid', 'dli', 'eju', 'jio', 'kio']
很显然,在改变players的值后players_1的列表也跟着改变,即复制副本后,二者修改列表值不受影响。
3.4元组
python将不能修改的值称为不可变的,而不可变的列表称为元组。
3.4.1定义元组及遍历
¥元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为行。
¥定义一个只包含一个元素的元组,必须在这个元素后面加上逗号
¥元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为行。
¥定义一个只包含一个元素的元组,必须在这个元素后面加上逗号
例如,如果有一个大小不应该变得矩形,可将其长度和宽度存储在一个元组中,从而确保它们是不能修改的。
遍历依旧使用for循环
dimensions=(200,50)
print(dimensions[0])
print(dimensions[1])
for dimension in dimensions:
print(dimension)
print("n")
200 50 200 50
3.4.2修改元组的变量
虽然不能直接修改元组的元素,但可以给存储元组的变量赋值。因此如果要修改前述矩形的尺寸,可重新定义整个元组(可以改变整体元组,不能改变值)
dimensions=(200,50)
print(dimensions[0])
print(dimensions[1])
for dimension in dimensions:
print(dimension)
print("n")
#元组不可单独修改元素值,但可以给存储元组的变量赋值
dimensions=(300,100)
print(dimensions[0])
print(dimensions[1])
for dimension in dimensions:
print(dimension)
200 50 200 50 300 100 300 100
请指正



