📌  相关文章
📜  Python|创建具有给定范围的数字列表

📅  最后修改于: 2022-05-13 01:55:24.569000             🧑  作者: Mango

Python|创建具有给定范围的数字列表

给定两个数字r1r2 (定义范围),编写一个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:列表理解

我们也可以为此目的使用列表推导。只需在从r1r2的 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()r1r2一起使用,然后将序列转换为列表。

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