1. 函数range( )的使用
range( )函数可以生成一系列的数字:
for value in range(1, 5):
print(value)
Note:运行结果是打印数字1到4,即该函数的运行结果到指定的第二个值停止,不包含指定的第二个值。从数学角度表示就是[第一的指定值,第二个指定值)
2. 使用range( )函数创建数字列表
2.1 函数list( )可以将range( )的结果直接转换为列表:
numbers = list(range(1, 6))
print(numbers)
运行结果:
[1, 2, 3, 4, 5]
2.2 range( )函数中可以继续指定第三个值,即步长:
numbers = list(range(2, 11, 2)) # 从2开始取值,不断加2,直到达到或超过11
print(numbers)
运行结果:
[2, 4, 6, 8, 10]
2.3 对创建的数值进行运算:
squares = [] # 创建一个空列表
for value in range(1, 11): # 遍历1到10
squares.append(value**2) # 就算当前值的平方并存如列表末尾
print(squares) # 打印列表
运行结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3. 对数字列表进行简单的统计
print(min(squares)) # 求列表中最小值并打印
print(max(squares)) # 求列表中最大值并打印
print(sum(squares)) # 对列表中的值求和并打印
4. 列表解析
2中对列表中的值求平方的代码页可以简化为:
squares = [value**2 for value in range(1, 11)]
print(squares)
运行结果和上边一样,但代码块得到了很大的简化。
# 我觉得可以理解为将for循环的代码块倒着依次放入创建的空列表的方括号中。写代码时感觉容易遗漏的就是[],一旦漏写就会报错。
练习发现的问题 :
做练习时写了这样一行代码,创建一个列表,包含数字1~1 000 000,于是就模仿前边的示例写:
list_test = [for num in range(1, 1000001)] 运行之后报错还不知道哪里错了。
结果是在for之前还得写要存储到列表中的值num,即使不对该值有进一步的处理。
list_test = [num for num in range(1, 1000001)] # 正确