Dodawanie elementów do listy (tablicy) w Pythonie: append(), extend(), insert()

Biznes

Aby dodać element do listy (tablicy) typu list w Pythonie, lub połączyć inną listę, użyj metod listowych append(), extend() i insert(). Możesz również użyć operatora + lub slice, aby określić pozycję i ją przypisać.

Podane są tu następujące informacje.

  • Dodaj elementy na końcu:append()
  • Dołącz inną listę lub tuple na końcu (konkatenacja): extend(),+operator
  • Dodaje (wstawia) element na podanej pozycji.:insert()
  • Dodaj (wstaw) kolejną listę lub tuple na określonej pozycji:plasterek

Dodaj elementy na końcu: append()

Używając metody append() listy, możesz dodawać elementy na koniec (last). Jeśli chcesz dodać element na innej pozycji niż koniec, np. na górze, użyj metody insert() jak opisano poniżej.

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

Listy są również dodawane jako pojedynczy element. Nie są one łączone.

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

Dołącz inną listę lub tuple na końcu (konkatenacja): extend(), +operator

Za pomocą metody list extend(), możesz połączyć inną listę lub tuple na końcu (the end). Wszystkie elementy zostaną dołączone do końca oryginalnej listy.

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

Zauważ, że każdy znak (element) jest dodawany do łańcucha po jednym znaku na raz.

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

Możliwe jest również konkatenowanie przy użyciu operatora + zamiast metody extend().

+ operator, zwracana jest nowa lista.+=Umożliwi to również dodanie go do istniejącej listy.

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

Dodaje (wstawia) element na podanej pozycji.: insert()

Metoda listy insert() może dodać (wstawić) element na określoną pozycję.

Pierwszy argument określa pozycję, a drugi element, który ma zostać wstawiony. Pierwszą (początkową) pozycją jest 0; dla wartości ujemnych, -1 jest ostatnią (końcową) pozycją.

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

Podobnie jak w append(), lista jest dodawana jako pojedynczy element. Nie zostanie ona połączona.

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

Zauważ, że insert() nie jest wydajną operacją, ponieważ wymaga następujących kosztów. Zobacz następującą stronę na oficjalnym wiki dla złożoności obliczeniowej różnych operacji na listach.
O(n)

O(1)
Typ deque jest dostarczany w module kolekcji biblioteki standardowej jako typ do dodawania elementów do wierzchołka przy takim koszcie. Na przykład, jeśli chcesz traktować dane jako kolejkę (FIFO), bardziej efektywne jest użycie deque.

Dodaj (wstaw) kolejną listę lub tuple na określonej pozycji: plasterek

Jeśli określisz zakres za pomocą wycinka i przypiszesz inną listę lub tuple, wszystkie elementy zostaną dodane (wstawione).

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

Możesz również zastąpić oryginalny element. Wszystkie elementy w podanym zakresie zostaną zastąpione.

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]