利用range函数进行列表推导式的应用示例

avatar
作者
猴君
阅读量:0

range() 函数通常用于生成一个整数序列,而列表推导式(List Comprehension)则是 Python 中一种简洁、高效地创建列表的方法。下面我将展示如何使用 range() 函数与列表推导式结合来创建不同类型的列表。

示例 1:创建一个包含从 0 到 9 的整数的列表

numbers = [i for i in range(10)] print(numbers)  # 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

在这个例子中,range(10) 生成了一个从 0 到 9 的整数序列,然后列表推导式遍历这个序列并将每个元素添加到新的列表 numbers 中。

示例 2:创建一个包含平方数的列表

squares = [i**2 for i in range(1, 6)] print(squares)  # 输出:[1, 4, 9, 16, 25] 

这里,range(1, 6) 生成了一个从 1 到 5 的整数序列。列表推导式计算每个元素的平方,并将结果存储在列表 squares 中。

示例 3:创建一个包含斐波那契数列的列表(前 n 个数)

def fibonacci(n):     fib_sequence = [fibonacci_helper(i) for i in range(n)]     return fib_sequence  def fibonacci_helper(i):     if i <= 1:         return i     else:         return fibonacci_helper(i-1) + fibonacci_helper(i-2)  # 计算斐波那契数列的前 10 个数 fib_10 = fibonacci(10) print(fib_10)  # 输出:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34] 

注意:上面的斐波那契数列实现虽然使用了列表推导式,但效率并不高,因为它使用了递归。在实际应用中,通常会使用更高效的算法来计算斐波那契数列。

示例 4:创建一个包含指定范围内所有偶数的列表

even_numbers = [i for i in range(1, 21) if i % 2 == 0] print(even_numbers)  # 输出:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 

在这个例子中,range(1, 21) 生成了一个从 1 到 20 的整数序列。列表推导式遍历这个序列,并使用条件 if i % 2 == 0 来筛选出偶数。

这些示例展示了如何使用 range() 函数和列表推导式来创建不同类型的列表。列表推导式提供了一种简洁、易读的方式来创建列表,而 range() 函数则用于生成整数序列。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!