如何生成连续数字列表?


Answers:


126

在Python 3中,您可以range像这样使用内置函数

>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]

注意1: Python 3.x的range函数返回一个range对象。如果需要列表,则需要list使用答案中所示的功能将其显式转换为列表。

注意2:我们将数字9传递给range函数,因为,range函数将生成直到给定数字但不包括数字的数字。因此,我们给出实际数字+ 1。

注3:range Python 2和3在功能上有细微的差别。您可以在此答案中阅读更多有关此的内容


11

使用Python的内置范围函数:

Python 2

input = 8
output = range(input + 1)

print output
[0, 1, 2, 3, 4, 5, 6, 7, 8]

Python 3

input = 8
output = list(range(input + 1))

print(output)
[0, 1, 2, 3, 4, 5, 6, 7, 8]

3

举另一个例子,尽管range(value)到目前为止是执行此操作的最佳方法,但以后可能会对您有所帮助。

list = []
calc = 0

while int(calc) < 9:
    list.append(calc)
    calc = int(calc) + 1

print list
[0, 1, 2, 3, 4, 5, 6, 7, 8]

你为什么铸造calcint每次?
Nagabhushan SN

1

注: -当然,在蟒蛇-3X需要使用范围功能它适用于按需生成号码,标准的方法来使用范围功能,使连续号码的清单

x=list(range(10))
#"list"_will_make_all_numbers_generated_by_range_in_a_list
#number_in_range_(10)_is_an_option_you_can_change_as_you_want
print (x)
#Output_is_ [0,1,2,3,4,5,6,7,8,9]

另外,如果要使用范围函数使函数生成连续数字列表,请观看此代码!

def  consecutive_numbers(n) :
    list=[i for i in range(n)]
    return (list)
print(consecutive_numbers(10))

祝好运!



0

根据所需的结果,还可以在for循环中打印每个数字:

def numbers():
    for i in range(int(input('How far do you wanna go? '))+1):
        print(i)

因此,例如,如果用户输入为7:

How far do you wanna go? 7
0
1
2
3
4
5
6
7

您也可以在for循环中删除“ +1”并将其放置在print语句中,这会将其更改为从1开始而不是0。


0

您可以将列表推导用于此问题,因为它将仅在两行中解决。码-

n = int(input("Enter the range of the list:\n"))
l1 = [i for i in range(n)] #Creates list of numbers in the range 0 to n
if __name__ == "__main__":
    print(l1)

谢谢。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.