Pridávanie prvkov do zoznamu (poľa) v jazyku Python: append(), extend(), insert()

obchodné

Na pridanie prvku do zoznamu (poľa) typu zoznam v jazyku Python alebo na spojenie iného zoznamu použite metódy append(), extend() a insert(). Na zadanie pozície a jej priradenie môžete použiť aj operátor + alebo slice.

Tu sú uvedené tieto informácie.

  • Pridanie prvkov na koniec:append()
  • Zlúčenie ďalšieho zoznamu alebo trojuholníka na konci (konkatenácia): extend(),+operátor
  • Pridanie (vloženie) prvku na zadanú pozíciu.:insert()
  • Pridať (vložiť) ďalší zoznam alebo tuple na zadanú pozíciu:plátok

Pridanie prvkov na koniec: append()

Pomocou metódy append() zoznamu môžete pridať prvky na koniec (posledný). Ak ich chcete pridať na inú pozíciu ako na koniec, napríklad na začiatok, použite metódu insert(), ako je opísané nižšie.

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']

Zoznamy sa pridávajú aj ako jeden prvok. Nekombinujú sa.

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

Zlúčenie ďalšieho zoznamu alebo trojuholníka na konci (konkatenácia): extend(), +operátor

Pomocou metódy extend() môžete na koniec zoznamu (koniec) pripojiť ďalší zoznam alebo tuple. Všetky prvky budú pripojené na koniec pôvodného zoznamu.

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]

Všimnite si, že každý znak (prvok) sa do reťazca pridáva po jednom znaku.

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

Zlučovanie je možné aj pomocou operátora + namiesto metódy extend().

+ sa vráti nový zoznam.+=To vám tiež umožní pridať ho do existujúceho zoznamu.

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]

Pridanie (vloženie) prvku na zadanú pozíciu.: insert()

Metóda insert() môže pridať (vložiť) prvok na zadanú pozíciu.

Prvý argument určuje pozíciu a druhý argument určuje prvok, ktorý sa má vložiť. Prvá (počiatočná) pozícia je 0; pre záporné hodnoty je -1 posledná (konečná) pozícia.

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]

Rovnako ako pri funkcii append() sa zoznam pridá ako jeden prvok. Nebude zlúčený.

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

Všimnite si, že operácia insert() nie je efektívna, pretože si vyžaduje nasledujúce náklady. Výpočtovú zložitosť rôznych operácií so zoznamami nájdete na nasledujúcej stránke na oficiálnej wiki.
O(n)

O(1)
Typ deque je k dispozícii v module kolekcií štandardnej knižnice ako typ na pridávanie prvkov na vrchol za túto cenu. Ak napríklad chcete s údajmi zaobchádzať ako s frontom (FIFO), je efektívnejšie použiť deque.

Pridať (vložiť) ďalší zoznam alebo tuple na zadanú pozíciu: plátok

Ak zadáte rozsah s plátkom a priradíte iný zoznam alebo tuple, pridajú sa (vložia) všetky prvky.

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

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

Môžete tiež nahradiť pôvodný prvok. Nahradia sa všetky prvky v zadanom rozsahu.

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

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