Ich versuche herauszufinden, wie mehrere Werte an eine Liste in Python angehängt werden. Ich weiß, dass es dafür nur wenige Methoden gibt, z. B. die manuelle Eingabe der Werte oder die Reinigung der Append-Operation in einer for -Schleife oder die Funktionen append und extend.

Ich frage mich jedoch, ob es einen ordentlicheren Weg gibt, dies zu tun. Vielleicht ein bestimmtes Paket oder eine bestimmte Funktion?

222
ChangeMyName 25 Nov. 2013 im 18:56

3 Antworten

Beste Antwort

Sie können die Sequenzmethode list.extend verwenden Erweitern der Liste um mehrere Werte aus jeder Art von Iterable, sei es eine andere Liste oder eine andere Sache, die eine Folge von Werten bereitstellt.

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

Sie können also list.append() verwenden, um einen einzelnen Wert anzuhängen, und list.extend(), um mehrere Werte anzuhängen.

291
poke 22 Nov. 2017 im 17:35

Wenn Sie sich die offiziellen Dokumente ansehen, sind Sie Ich sehe rechts unten append, extend. Das ist es, wonach du suchst.

Es gibt auch itertools.chain, wenn Sie mehr interessiert sind Effiziente Iteration als eine vollständig aufgefüllte Datenstruktur.

9
Silas Ray 25 Nov. 2013 im 14:58

Anders als bei der Funktion append können Sie diese einfach so verketten, wenn Sie mit "mehreren Werten" eine andere Liste meinen.

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a + b
[1, 2, 3, 4, 5, 6]
24
slider 25 Nov. 2013 im 14:58