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]