Niezmienne typy danych:
l = [0] * 100
l = ['foo'] * 100
W przypadku wartości, które są przechowywane przez odniesienie i możesz chcieć zmodyfikować je później (np. Listy podrzędne lub dykty):
l = [{} for x in range(100)]
(Powodem, dla którego pierwsza metoda jest dobrym pomysłem tylko dla wartości stałych, takich jak ints lub stringi, jest to, że przy użyciu <list>*<number>składni robi się tylko płytka kopia , a zatem jeśli zrobiłeś coś podobnego [{}]*100, skończyłbyś z 100 odniesieniami do tego samego słownika - więc zmiana jednego z nich zmieniłaby je wszystkie. Ponieważ wartości typu int i string są niezmienne, nie stanowi to dla nich problemu).
Jeśli chcesz dodać coś do istniejącej listy, możesz użyć extend()metody tej listy (w połączeniu z generowaniem listy rzeczy do dodania za pomocą powyższych technik):
a = [1,2,3]
b = [4,5,6]
a.extend(b)
l.extend([x] * 100)że najlepiej pasowało do mojej sytuacji. Amber otrzymuje odpowiedź za to, że jest najbardziej wszechstronny. Dzięki!