range() do seznamu v Pythonu
Často chceme vytvořit seznam obsahující souvislou hodnotu, například v rozsahu 100-200. Pojďme diskutovat o tom, jak vytvořit seznam pomocí range()> funkce.
Bude to fungovat?
# Create a list in a range of 10-20> My_list> => [> range> (> 10> ,> 20> ,> 1> )]> > # Print the list> print> (My_list)> |
Výstup :
Jak můžeme vidět na výstupu, výsledek není přesně takový, jaký jsme očekávali, protože Python nerozbaluje výsledek funkce range().
Kód #1: Můžeme použít operátor rozbalení argumentů, tj. * .
# Create a list in a range of 10-20> My_list> => [> *> range> (> 10> ,> 21> ,> 1> )]> > # Print the list> print> (My_list)> |
Výstup :
Jak můžeme vidět na výstupu, operátor rozbalení argumentů úspěšně rozbalil výsledek funkce range.
Kód #2: Můžeme použít extend()> funkce pro rozbalení výsledku funkce rozsahu.
# 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)> |
Výstup :