How can I generate a list of consecutive numbers?

前端 未结 7 626
南旧
南旧 2020-11-27 04:38

Say if you had a number input 8 in python and you wanted to generate a list of consecutive numbers up to 8 like

[0, 1, 2, 3, 4, 5,          


        
相关标签:
7条回答
  • 2020-11-27 04:57

    Just to give you another example, although range(value) is by far the best way to do this, this might help you later on something else.

    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]
    
    0 讨论(0)
  • 2020-11-27 05:07

    Using Python's built in range function:

    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]
    
    0 讨论(0)
  • 2020-11-27 05:07

    Note :- Certainly in python-3x you need to use Range function It works to generate numbers on demand, standard method to use Range function to make a list of consecutive numbers is

    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]
    

    Also if you want to make an function to generate a list of consecutive numbers by using Range function watch this code !

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

    Good Luck!

    0 讨论(0)
  • 2020-11-27 05:09

    In Python 3, you can use the builtin range function like this

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

    Note 1: Python 3.x's range function, returns a range object. If you want a list you need to explicitly convert that to a list, with the list function like I have shown in the answer.

    Note 2: We pass number 9 to range function because, range function will generate numbers till the given number but not including the number. So, we give the actual number + 1.

    Note 3: There is a small difference in functionality of range in Python 2 and 3. You can read more about that in this answer.

    0 讨论(0)
  • 2020-11-27 05:12

    You can use itertools.count() to generate unbounded sequences. (itertools is in the Python standard library). Docs here:
    https://docs.python.org/3/library/itertools.html#itertools.count

    0 讨论(0)
  • 2020-11-27 05:13

    Depending on how you want the result, you can also print each number in a for loop:

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

    So if the user input was 7 for example:

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

    You can also delete the '+1' in the for loop and place it on the print statement, which will change it to starting at 1 instead of 0.

    0 讨论(0)
提交回复
热议问题