Hvis du vil tilføje et element til en liste (array) af typen list i Python eller kombinere en anden liste, skal du bruge listemetoderne append(), extend() og insert(). Du kan også bruge operatoren + eller slice til at angive en position og tildele den.
Her findes følgende oplysninger.
- Tilføj elementer i slutningen:
append()
- Sammenføje en anden liste eller tupel til sidst (sammenkædning):
extend()
,+
operatør - Tilføjer (indsætter) et element på den angivne position.:
insert()
- Tilføj (indsæt) en anden liste eller tupel på den angivne position:skive
Tilføj elementer i slutningen: append()
Ved hjælp af listens append()-metode kan du tilføje elementer til sidst (sidst). Hvis du ønsker at tilføje det til en anden position end slutningen, f.eks. øverst, skal du bruge insert() som beskrevet nedenfor.
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']
Lister tilføjes også som et enkelt element. De kombineres ikke.
l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]
Sammenføje en anden liste eller tupel til sidst (sammenkædning): extend(), +operatør
Med listens metode extend() kan du kombinere en anden liste eller tupel i slutningen (slutningen). Alle elementer vil blive føjet til slutningen af den oprindelige liste.
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]
Bemærk, at hvert tegn (element) tilføjes til strengen ét tegn ad gangen.
l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']
Det er også muligt at sammenkæde ved hjælp af operatoren + i stedet for extend()-metoden.
+ operatoren, returneres en ny liste.+=
Dette giver dig også mulighed for at tilføje den til en eksisterende liste.
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]
Tilføjer (indsætter) et element på den angivne position.: insert()
Listemetoden insert() kan tilføje (indsætte) et element på en angivet position.
Det første argument angiver positionen, og det andet argument angiver det element, der skal indsættes. Den første (indledende) position er 0; for negative værdier er -1 den sidste (endelige) position.
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]
Som med append() tilføjes listen som et enkelt element. Den vil ikke blive slået sammen.
l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]
Bemærk, at insert() ikke er en effektiv operation, fordi den kræver følgende omkostninger. Se følgende side på den officielle wiki for beregningskompleksiteten for de forskellige listeoperationer.O(n)
O(1)
Deque-typen findes i standardbibliotekets collections-modul som en type til at tilføje elementer til toppen til denne pris. Hvis du f.eks. ønsker at behandle data som en kø (FIFO), er det mere effektivt at bruge deque.
Tilføj (indsæt) en anden liste eller tupel på den angivne position: skive
Hvis du angiver et område med en skive og tildeler en anden liste eller tupel, vil alle elementer blive tilføjet (indsat).
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]
Du kan også erstatte det oprindelige element. Alle elementer i det angivne område vil blive erstattet.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]