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~
来源: http://www.jianshu.com/p/6dbecc18faac