Stel als je een nummer had, voer 8
in in python en je wilde een lijst met opeenvolgende nummers genereren tot 8
zoals
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Hoe kon je dit doen?
Antwoord 1, autoriteit 100%
In Python 3 kun je het ingebouwde range
functioneren als volgt
>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Opmerking 1:De range
-functie van Python 3.x geeft een range
-object terug. Als je een lijst wilt, moet je die expliciet converteren naar een lijst, met de list
functioneert zoals ik heb laten zien in het antwoord.
Opmerking 2:We geven nummer 9 door aan de functie range
omdat de functie range
nummers genereert tot het opgegeven nummer, maar het nummer niet meeneemt . Dus we geven het werkelijke aantal + 1.
Opmerking 3:Er is een klein verschil in functionaliteit van range
in Python 2 en 3. Je kunt daar meer over lezen in dit antwoord.
Antwoord 2, autoriteit 9%
De ingebouwde bereikfunctie van Python gebruiken:
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]
Antwoord 3, autoriteit 3%
Hier is een manier om n opeenvolgende getallen te genereren met gelijke intervallen ertussen, beginnend van 0 tot 100 met numpy:
import numpy as np
myList = np.linspace(0, 100, n)
Antwoord 4
Om je nog een voorbeeld te geven, hoewel bereik(waarde) verreweg de beste manier is om dit te doen, kan dit je later misschien helpen bij iets anders.
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]
Antwoord 5
Opmerking:-Zeker in python-3x moet je de Bereikfunctiegebruiken. Het werkt om nummers op aanvraag te genereren, standaardmethode om de Bereikfunctiete gebruiken sterk>om een lijst met opeenvolgende nummers te maken 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]
Ook als je een functiewilt maken om een lijst van opeenvolgende nummers te genereren met behulp van de Bereikfunctielet dan op deze code!
def consecutive_numbers(n) :
list=[i for i in range(n)]
return (list)
print(consecutive_numbers(10))
Veel succes!
Antwoord 6
U kunt itertools.count()
gebruiken om onbeperkte reeksen te genereren. (itertools bevindt zich in de standaardbibliotheek van Python). Documenten hier:
https://docs.python.org/3/library/itertools. html#itertools.count
Antwoord 7
Afhankelijk van hoe u het resultaat wilt, kunt u elk nummer ook in een for-lus afdrukken:
def numbers():
for i in range(int(input('How far do you wanna go? '))+1):
print(i)
Dus als de gebruikersinvoer bijvoorbeeld 7 was:
How far do you wanna go? 7
0
1
2
3
4
5
6
7
Je kunt ook de ‘+1’ in de for-lus verwijderen en op het printstatement plaatsen, waardoor het begint bij 1 in plaats van 0.
Antwoord 8
Je kunt voor dit probleem lijstbegrippen gebruiken, omdat het in slechts twee regels wordt opgelost.
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
print(l1)