1 range() 函数
range() 函数可以生成一系列的数字:
for v in range(1,10):
print(v)
运行结果:
range() 函数会从我们所指定的第一个值开始数, 直到到达所指定的第二个值后停止,但不会包含第二个值。这就是编程语言中的差一行为。
2 创建数字列表
可以使用函数 list() 将 range() 函数的结果转换为列表:
nums=list(range(1,10))
print(nums)
运行结果:
使用函数 range() 时, 我们还可指定步长 。 例如,下面的代码打印 1~10 内的奇数:
odd_nums=list(range(1,11,2))
print(odd_nums)
在这个示例中, 函数 range() 从 1 开始数, 然后不断地加 2 ,所以运行结果为:
利用函数 range(),我们能够创建任何需要的数字列表, 例如, 下面的代码创建了一个列表, 它包含前 10 个整数( 即 1~10 ) 的立方:
cubes=[]
for v in range(1,11):
cube=v**3
cubes.append(cube)
print(cubes)
运行结果:
因为逻辑清晰易懂,所以我们可以去除临时变量 cube,让代码变得更简洁:
cubes=[]
for v in range(1,11):
cubes.append(v**3)
print(cubes)
有时候, 使用临时变量会让代码更易读;而有的时候, 使用临时变量只会让代码无谓地变长。 我们首先应该编写清晰易懂且能完成所需功能的代码; 等到代码审核时, 再转而考虑是否采用更高效的方法。
还有一种更简洁的写法,叫做列表解析。它会将 for 循环和创建新元素的代码合并为一行, 并且自动附加新元素。它的语法是, 首先指定一个描述性的列表名, 如 cubes; 然后, 指定一个左方括号, 并定义一个表达式, 用于生成你要存储到列表中的值(如 v**3) 。 接下来, 编写一个 for 循环, 用于给表达式提供值, 再加上右方括号 。 注意: 这里的 for 语句末尾没有冒号 。
cubes=[v**3 for v in range(1,11)]
print(cubes)
运行结果:
3 统计计算
使用 Python 的统计函数,可以很快地找出数字列表的最大值、 最小值和总和:
nums=list(range(1,1000000))
print('最小值:'+str(min(nums)))
print('最大值:'+str(max(nums)))
print('总和:'+str(sum(nums)))
运行结果:
100 万个数求和,不到 1s 就算好啦O(∩_∩)O~
网友评论