Python|创建具有给定范围的数字列表
给定两个数字r1和r2 (定义范围),编写一个Python程序来创建一个具有给定范围(包括)的列表。
例子:
Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]
Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
让我们讨论一些完成此任务的方法。
方法#1:朴素的方法
在给定范围内创建列表的一种简单方法是首先创建一个空列表并在 for 循环的每次迭代中附加每个整数的后继。
# Python3 Program to Create list
# with integers within given range
def createList(r1, r2):
# Testing if range r1 and r2
# are equal
if (r1 == r2):
return r1
else:
# Create empty list
res = []
# loop to append successors to
# list until r2 is reached.
while(r1 < r2+1 ):
res.append(r1)
r1 += 1
return res
# Driver Code
r1, r2 = -1, 1
print(createList(r1, r2))
输出:
[-1, 0, 1]
方法#2:列表理解
我们也可以为此目的使用列表推导。只需在从r1到r2的 for 循环中迭代 'item' 并将所有 'item' 作为列表返回。这将是一个简单的单行代码。
# Python3 Program to Create list
# with integers within given range
def createList(r1, r2):
return [item for item in range(r1, r2+1)]
# Driver Code
r1, r2 = -1, 1
print(createList(r1, r2))
输出:
[-1, 0, 1]
方法 #3:使用Python range()
Python带有一个直接函数range()
,它创建从开始值到结束值的数字序列,并打印序列中的每个项目。我们将range()
与r1和r2一起使用,然后将序列转换为列表。
# Python3 Program to Create list
# with integers within given range
def createList(r1, r2):
return list(range(r1, r2+1))
# Driver Code
r1, r2 = -1, 1
print(createList(r1, r2))
输出:
[-1, 0, 1]
方法 #4:使用numpy.arange()
Python numpy.arange() 根据间隔返回一个具有均匀间隔元素的列表。在这里,我们根据需要将间隔设置为 1 以获得所需的输出。
# Python3 Program to Create list
# with integers within given range
import numpy as np
def createList(r1, r2):
return np.arange(r1, r2+1, 1)
# Driver Code
r1, r2 = -1, 1
print(createList(r1, r2))
输出:
[-1 0 1]