range() a una llista en Python
Sovint volem crear una llista que contingui un valor continu com, en un rang de 100 a 200. Parlem de com crear una llista amb el range()> funció.
Funcionarà això?
# Create a list in a range of 10-20> My_list> => [> range> (> 10> ,> 20> ,> 1> )]> > # Print the list> print> (My_list)> |
Sortida:
Com podem veure a la sortida, el resultat no és exactament el que esperàvem perquè Python no desempaqueta el resultat de la funció range().
Codi #1: Podem utilitzar l'operador de desempaquetat d'arguments, és a dir. * .
# Create a list in a range of 10-20> My_list> => [> *> range> (> 10> ,> 21> ,> 1> )]> > # Print the list> print> (My_list)> |
Sortida:
Com podem veure a la sortida, l'operador de desempaquetat d'arguments ha desempaquetat correctament el resultat de la funció de rang.
Codi #2: Podem utilitzar el extend()> funció per desempaquetar el resultat de la funció de rang.
# Create an empty list> My_list> => []> > # Value to begin and end with> start, end> => 10> ,> 20> > # Check if start value is smaller than end value> if> start # unpack the result My_list.extend(range(start, end)) # Append the last value My_list.append(end) # Print the list print(My_list)> |
Sortida: