P122: Create a list containing all integers within a given range
创建一个包含指定范围内所有整数的列表。照例测试用例:
from python99.lists.p122 import create_range
def test_create_range():
assert create_range(1, 4) == [1, 2, 3, 4]
assert create_range(2, 2) == [2]
assert create_range(4, 9) == [4, 5, 6, 7, 8, 9]
Python内建了类range
用于产生指定区间、步长的整数序列。再搭配List comprehension就可完美解决本题。
range
的构造器接受三个参数:
class range(start, stop[, step])
- start 起始值,默认0
- stop 截止值
- step 步长,默认1
List comprehension的形式为:
[f(x) for x in l]
f
为对映函数,其可为普通Python函数,也可为表达式x
为局部变量,用于引用每一个元素l
输入序列
本例中,l
为range
。完整代码实现:
# Create a list containing all integers within a given range
def create_range(start,end):
return [ e for e in range(start,end+1,1)]