3.1.1 深入理解循环
循环是计算机自动完成重复工作的常见方式。
编写for循环的时候,对于用于存储列表中的每个值的临时变量,可以指定任何的名称
3.1.2 for循环结束的一些操作
在for循环的后面没有缩进的代码只会执行一次,不会重复执行
3.2.1 避免不必要的缩进,即在缩进的时候要注意是否与前面的语句存在关系。
3.2.2 不要忘记缩进,在下一条语句与前一条语句具有某种关系的时候一定要有缩进的存在
3.2.3 一定要将所有的与循环条件有关的语句都进行缩进
3.2.4 不要忘记循环条件后面的冒号
3.3.1 使用函数range()生成一系列的数字
for i in range(1,5):
print(i,end=" ")
#结果:1 2 3 4
3.3.2 使用range创建数字列表
1.如果需要创建数字列表,可以使用list函数将range的结果直接转化为列表
number = list(range(1,5))
for i in number:
print(i,end=" ")
结果:1 2 3 4
2.使用range函数的时候还可以指定数字列表的增长的步长
number = list(range(1,5,2))
for i in number:
print(i,end=" ")
结果:1 3
#range()函数的参数说明:range(起始,终止,步长)
注意:有时候使用临时变量会使得代码清晰易懂,但有的时候只会让代码无谓的变长
所以在编写代码的时候你应该考虑的是如何使得代码清晰易懂且能完成所需要的功能,至于优化,可以在后期处理
3.3.3 对于数字列表做一些简单的统计
函数:max(),min(),以及sum()
3.3.4 列表的解析
将for循环和创建新元素的代码结合在一起,并自动附加新的元素
number = [value**3 for value in range(1,5)]
print(number,end=" ")
print(max(number))
使用这种用法的前提为:
1.指定一个描述性列表的名称。
2.指定一个左方括号,并定义一个表达式,用于生成你要存储到列表里面的值
3.编写一个for循环的语句,用于给表达式提供值,然后加上右括号
3.4.1 切片
要创建切片,可以指定第一个要使用元素的索引和最后一个的元素的索引+1,原理类似于range()函数
number = [value**3 for value in range(0,9)]
print(number,end=" ")
print(number[0:5])
结果:
[0, 1, 8, 27, 64, 125, 216, 343, 512]
[0, 1, 8, 27, 64]
如果说没有指定切片的第一个索引,将从列表的开头开始提取元素,list[:n]
要让切片终止于列表的末尾,也可以使用类似的语法list[n:]
利用切片可以实现另外的一种形式的for循环
3.4.2 遍历输出切片中的内容
number = [value**3 for value in range(0,9)]
for num in number[:6]:
print(num,end=" ")
#结果:0 1 8 27 64 125
3.4.3 复制列表
要复制列表,可以创建可以创建一个包含有整个列表的切片
方法是同时省略起始索引和终止索引,list1=list2[:],通过这个样子的方式获得队列是一个新的队列
number = [value ** 3 for value in range(0,9)]
for num in number[:6]:
print(num,end=" ")
flag = number[:]
flag1 = number
print(number)
print(flag)
print(flag1)
number[2] = 99
print(number)
print(flag)
print(flag1)
结果:
0 1 8 27 64 125
[0, 1, 8, 27, 64, 125, 216, 343, 512]
[0, 1, 8, 27, 64, 125, 216, 343, 512]
[0, 1, 8, 27, 64, 125, 216, 343, 512]
[0, 1, 99, 27, 64, 125, 216, 343, 512]
[0, 1, 8, 27, 64, 125, 216, 343, 512]
[0, 1, 99, 27, 64, 125, 216, 343, 512]
通过上述的输出结果我们可以得出:
通过list=list1这个样子得到的列表只是简单地将list1的地址赋给了list,当对list1的地址进行修改的时候list的地址也会相对应的发生变化。
通过list=list[:]这个样子得到的列表是一个单独的列表,他们之间只是值相等,地址是不同的,对于其中的任意一个的做出改动都不会影响到另外一个。
python中将不能修改的值称为不可变的,将不可变的列表称为元组
3.5.1 定义元组
元组的看起来和列表是一样的,但是却是采用圆括号()来标识,在定义元组后通过方括号[]来访问元组。
在元组中任何修改元组元素的操作都是被禁止的
3.5.2 遍历元组中的值
number = (1,4,5,6)
for i in number:
print(i,end=" ")
结果:1 4 5 6
3.5.3 修改元组的变量
在元组中虽然不能够对修改元素的值,但是却可以给存储元组的变量赋值。
故如果需要修改元组的值,可以对整个元组进行定义
number = (1,4,5,6)
for i in number:
print(i,end=" ")
number = (3,4,5)
for i in number:
print(i,end=" ")
结果: 1 4 5 6
3 4 5