Wie kann ich zwei Listen in Python miteinander verknüpfen?
Beispiel:
listone = [1, 2, 3]
listtwo = [4, 5, 6]
Erwartetes Ergebnis:
>>> joinedlist
[1, 2, 3, 4, 5, 6]
Wie kann ich zwei Listen in Python miteinander verknüpfen?
Beispiel:
listone = [1, 2, 3]
listtwo = [4, 5, 6]
Erwartetes Ergebnis:
>>> joinedlist
[1, 2, 3, 4, 5, 6]
Wie bereits von vielen hervorgehoben, itertools.chain()
ist der richtige Weg, wenn es darum geht, die genau die gleiche Behandlung zu beiden Listen. In meinem Fall hatte ich eine Bezeichnung und ein Kennzeichen, die sich von einer Liste zur anderen unterschieden, so dass ich etwas Komplexeres brauchte. Wie sich herausstellte, wird hinter den Kulissen itertools.chain()
macht einfach das Folgende:
for it in iterables:
for element in it:
yield element
(siehe https://docs.python.org/2/library/itertools.html ), also habe ich mich von hier inspirieren lassen und etwas in dieser Richtung geschrieben:
for iterable, header, flag in ( (newList, 'New', ''), (modList, 'Modified', '-f')):
print header + ':'
for path in iterable:
[...]
command = 'cp -r' if os.path.isdir(srcPath) else 'cp'
print >> SCRIPT , command, flag, srcPath, mergedDirPath
[...]
Die wichtigsten Punkte, die hier zu verstehen sind, sind, dass Listen nur ein Spezialfall von iterable sind, die Objekte wie jedes andere sind; und dass for ... in
Schleifen in Python können mit Tupel-Variablen arbeiten, so dass es einfach ist, Schleifen über mehrere Variablen gleichzeitig zu ziehen.
a=[1,2,3]
b=[4,5,6]
c=a+b
print(c)
OUTPUT:
>>> [1, 2, 3, 4, 5, 6]
Im obigen Code wird der Operator "+" verwendet, um die 2 Listen zu einer einzigen Liste zu verketten.
EINE ANDERE LÖSUNG:
a=[1,2,3]
b=[4,5,6]
c=[] #Empty list in which we are going to append the values of list (a) and (b)
for i in a:
c.append(i)
for j in b:
c.append(j)
print(c)
OUTPUT:
>>> [1, 2, 3, 4, 5, 6]
Ich empfehle drei Methoden zur Verkettung der Liste, wobei die 1. Methode am besten geeignet ist,
# easiest and least complexity method <= recommended
listone = [1, 2, 3]
listtwo = [4, 5, 6]
newlist = listone + listtwo
print(newlist)
# 2nd easiest method
newlist = listone.copy()
newlist.extend(listtwo)
print(newlist)
Bei der 2. Methode weise ich newlist
zu einer Kopie der listone
weil ich mich nicht ändern will listone
.
# 3rd method
newlist = listone.copy()
for j in listtwo:
newlist.append(j)
print(newlist)
Dies ist kein guter Weg, um Listen zu verketten, weil wir for-Schleife verwenden, um die Listen zu verketten. Die Zeitkomplexität ist also viel höher als bei den anderen beiden Methoden.
Die gebräuchlichste Methode zur Verkettung von Listen sind die Plus-Operator und die eingebaute Methode anhängen. zum Beispiel:
list = [1,2]
list = list + [3]
# list = [1,2,3]
list.append(3)
# list = [1,2,3]
list.append([3,4])
# list = [1,2,[3,4]]
In den meisten Fällen wird dies funktionieren, aber die anhängen. Funktion wird eine Liste nicht erweitern, wenn eine solche hinzugefügt wurde. Da dies nicht erwartet wird, können Sie eine andere Methode namens erweitern. sollte mit Strukturen arbeiten:
list = [1,2]
list.extend([3,4])
# list = [1,2,3,4]
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.