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输入序列

本例中,lrange。完整代码实现:

# 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)]

results matching ""

    No results matching ""