Ik probeer erachter te komen hoe ik meerdere waarden aan een lijst in Python kan toevoegen. Ik weet dat er maar weinig methoden zijn om dit te doen, zoals het handmatig invoeren van de waarden, of de append-bewerking in een for
-lus plaatsen, of de append
en extend
functies.
Ik vraag me echter af of er een meer nette manier is om dit te doen? Misschien een bepaald pakket of functie?
Antwoord 1, autoriteit 100%
U kunt de sequentiemethode list.extend
om de lijst uit te breiden met meerdere waarden van elk type itereerbaar, of het nu een andere lijst is of iets anders dat een reeks waarden biedt.
>>> lst = [1, 2]
>>> lst.append(3)
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
>>> lst.extend([5, 6, 7])
>>> lst.extend((8, 9, 10))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> lst.extend(range(11, 14))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
U kunt dus list.append()
gebruiken om een enkele waarde toe te voegen, en list.extend()
om toe te voegen meerdere waarden.
Antwoord 2, autoriteit 8%
Anders dan de functie append
, als u met “meerdere waarden” een andere lijst bedoelt, kunt u ze eenvoudig als volgt samenvoegen.
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a + b
[1, 2, 3, 4, 5, 6]
Antwoord 3, autoriteit 2%
Als je de officiële documenten, zie je direct onder append
, extend
. Dat is wat je zoekt.
Er is ook itertools.chain
als u meer geïnteresseerd bent in efficiënte iteratie dan in een volledig ingevulde datastructuur.
Antwoord 4
letter = ["a", "b", "c", "d"]
letter.extend(["e", "f", "g", "h"])
letter.extend(("e", "f", "g", "h"))
print(letter)
...
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'e', 'f', 'g', 'h']