237 Stimmen

Wie lautet die Syntax zum Einfügen einer Liste in eine andere Liste in Python?

Gegeben sind zwei Listen:

x = [1,2,3]
y = [4,5,6]

Wie lautet die Syntax für:

  1. einfügen. x in y tal que y sieht jetzt so aus [1, 2, 3, [4, 5, 6]] ?
  2. Fügen Sie alle Elemente von x in y tal que y sieht jetzt so aus [1, 2, 3, 4, 5, 6] ?

415voto

Paolo Bergantino Punkte 465120

Meinen Sie append ?

>>> x = [1,2,3]
>>> y = [4,5,6]
>>> x.append(y)
>>> x
[1, 2, 3, [4, 5, 6]]

Oder fusionieren?

>>> x = [1,2,3]
>>> y = [4,5,6]
>>> x + y
[1, 2, 3, 4, 5, 6]
>>> x.extend(y)
>>> x
[1, 2, 3, 4, 5, 6]

135voto

Sergey Punkte 11082

Aus der Frage geht nicht hervor, was genau Sie erreichen wollen.

Liste hat die append Methode, die ihr Argument an die Liste anhängt:

>>> list_one = [1,2,3]
>>> list_two = [4,5,6]
>>> list_one.append(list_two)
>>> list_one
[1, 2, 3, [4, 5, 6]]

Außerdem gibt es die extend Methode, die Folgendes anfügt Artikel aus der Liste, die Sie als Argument übergeben:

>>> list_one = [1,2,3]
>>> list_two = [4,5,6]
>>> list_one.extend(list_two)
>>> list_one
[1, 2, 3, 4, 5, 6]

Und natürlich ist da noch die insert Methode, die ähnlich funktioniert wie append sondern ermöglicht es Ihnen, den Einfügepunkt zu bestimmen:

>>> list_one.insert(2, list_two)
>>> list_one
[1, 2, [4, 5, 6], 3, 4, 5, 6]

Um eine Liste an einem bestimmten Einfügepunkt zu erweitern, können Sie List Slicing verwenden (danke, @florisla):

>>> l = [1, 2, 3, 4, 5]
>>> l[2:2] = ['a', 'b', 'c']
>>> l
[1, 2, 'a', 'b', 'c', 3, 4, 5]

Die Listenaufteilung ist recht flexibel, da sie es ermöglicht, einen Bereich von Einträgen in einer Liste durch einen Bereich von Einträgen in einer anderen Liste zu ersetzen:

>>> l = [1, 2, 3, 4, 5]
>>> l[2:4] = ['a', 'b', 'c'][1:3]
>>> l
[1, 2, 'b', 'c', 5]

36voto

Coding District Punkte 11801
foo = [1, 2, 3]
bar = [4, 5, 6]

foo.append(bar) --> [1, 2, 3, [4, 5, 6]]
foo.extend(bar) --> [1, 2, 3, 4, 5, 6]

http://docs.python.org/tutorial/datastructures.html

6voto

user3707850 Punkte 63

Sie können auch einfach...

x += y

4voto

squal Punkte 175

Wenn Sie die Elemente einer Liste (list2) an das Ende einer anderen Liste (list) anfügen möchten, können Sie die Methode list extend verwenden

list = [1, 2, 3]
list2 = [4, 5, 6]
list.extend(list2)
print list
[1, 2, 3, 4, 5, 6]

Wenn Sie zwei Listen verketten wollen, können Sie das Zeichen + verwenden

list3 = list + list2
print list3
[1, 2, 3, 4, 5, 6]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X