Tworzenie list w Pythonie

W Pythonie listy możemy utworzyć na kilka sposobów: używając nawiasów kwadratowych [] lub konstruktora list(). Jeśli z tyłu głowy mamy sposób działania nawiasów kwadratowych, użycie konstruktora może prowadzić do poważnych błędów. Spodziewać by się bowiem można, że poniższe dwa wywołania zwrócą to samo:

>>> s = "element_listy"
>>> l1 = [s]
>>> l2 = list(s)

Nic bardziej mylnego…

>>> print(l1)
['element_listy']
>>> print(l2)
['e', 'l', 'e', 'm', 'e', 'n', 't', '_', 'l', 'i', 's', 't', 'y']

Warto pamiętać, że list() przyjmuje obiekt, po którym się iteruje, umieszczając w liście jego kolejne elementy. Przydatne jest to np. w przypadku konwersji kluczy słownika na listę: list(d.keys()).