遍历列表
遍历列表作用
:游戏中,需要将每个界面元素移动相同的距离。网站中,显示每个文章的标题。
循环介绍
for循环速度极快,下面看for循环的流程图,以前觉得这个图不怎么样,当慢慢写的项目越来越大,我发现有的时候居然还有回去看一眼。
for(i=1;i<=100;i++)
print(i)
语句
for循环的作用
:遍历初始化游戏,遍历游戏角色,将每个角色显示到屏幕上.
数值列表(适用于百万级的数字数量)
数值列表的作用
:在游戏中跟踪每个角色的位置,还可能需要跟踪玩家的几个最高得分。在数据可视化中处理的几乎都是由数(如温度,距离,人口总数,经纬度)组成的集合
-range()函数
- range(0,5)表示0-4;
list(range(1,6))
[1,2,3,4,5]
- range还可以设置步长
list(range(2,11,2))
[2,4,6,8,10]
- 数字列表统计计算
a=[1,2,3,4]
min(a)
max(a)
sum(a)
1
2
10
- 列表解析
列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素
a=[a**2 for a in range(1,5)]
a=[1,4,9,16]
练习
#练习1:计算1000000个数相加花费时间。可见速度极快
import time
a=range(1,1000001)
t1=time.time()
b=sum(a)
t2=time.time()
print(f"花费时间{t2-t1}")
print(b)
花费时间0.04004383087158203
500000500000
练习2:输出3的倍数
a=range(3,30,3)
for i in a:
print(i)
3
6
9
12
15
18
21
24
27
练习三:立方解析
a=[1,2,3]
for i in [j**3 for j in a]:
print(i)
1
8
27
- 切片的作用
编写游戏时,可以在玩家退出的时候将其最终得分加入一个列表,然后将该列表按降序排列以获取三个最高得分,在创建一个只包含前三个得分的切片:处理数据的时候,可使用切片来进行批量处理;编写web应用程序时,可使用切片来分页显示信息,并在每页显示最合适的数量 - 复制列表[:]
复制列表有两个方法,比如说
a=[1,2,3]
b=a[:]
c=a
第一种复制之后把a和b分离开来,既可以操作列表b不会对a造成影响。第二种c和a关联,c和a指向同一个列表
元组
列表与元组的区别就在与,列表元素随时可变,列表是可以修改的。如果需要创建不可修改的元素,元组就可以达到要求
- 元组是用园括号。索引与列表一样
假如有一个不应该改变的矩形,可以将长和宽储存在一个元组中,确保不可修改
- 尝试修改元组元素,发现出错
a=(1,2,3)
a[1]=10
print(a)
TypeError: 'tuple' object does not support item assignment
- 元组是由逗号标识的,圆括号只是让看起来更整洁,如果定义只包含一个元素的元组,需要在元素后加逗号
- 虽然不能改变元组某元素的值,但是可以给元组变量重新附新值