Ich versuche, eine Zeichenfolge zu nehmen und sie an jede in einer Liste enthaltene Zeichenfolge anzuhängen und dann eine neue Liste mit den abgeschlossenen Zeichenfolgen zu erstellen. Beispiel:
list = ['foo', 'fob', 'faz', 'funk']
string = 'bar'
*magic*
list2 = ['foobar', 'fobbar', 'fazbar', 'funkbar']
Ich habe versucht, Schleifen zu erstellen und Listen zu verstehen, aber es war Müll. Wie immer jede Hilfe sehr geschätzt.
list
da es ein eingebautes ist.Antworten:
Der einfachste Weg, dies zu tun, ist mit einem Listenverständnis:
Beachten Sie, dass ich es vermieden habe, eingebaute Namen zu verwenden,
list
da dies die eingebauten Namen beschattet oder verbirgt, was sehr viel nicht gut ist.Wenn Sie keine Liste benötigen, sondern nur einen Iterator, kann ein Generatorausdruck effizienter sein (obwohl dies in kurzen Listen wahrscheinlich keine Rolle spielt):
Diese sind sehr leistungsfähig, flexibel und prägnant. Jeder gute Python-Programmierer sollte lernen, mit ihnen umzugehen.
quelle
(s + mystring for s in mylist)
["{}) {}".format(i, s) for i, s in enumerate(mylist)]
list2 = ["mystring" + s for s in mylist]
=list2 = ['barfoo', 'barfob', 'barfaz', 'barfunk']
Dies wird gedruckt:
quelle
map
scheint mir das richtige Werkzeug für den Job zu sein.Weitere Beispiele für funktionale Programmiertools finden Sie in diesem Abschnitt
map
.quelle
Führen Sie das folgende Experiment auf pythonische Weise aus:
scheint ~ 35% schneller zu sein als die offensichtliche Verwendung einer for-Schleife wie folgt:
Experiment
Ergebnisse
quelle
Erweitern eines Bits auf "Anhängen einer Liste von Zeichenfolgen an eine Liste von Zeichenfolgen":
Ergebnis:
dtype odject kann weiter konvertiert werden str
quelle
at = np.full(fill_value='@',shape=1,dtype=object)
oder einfach:at = np.array("@", dtype=object)
Sie können Lambda innerhalb der Karte in Python verwenden. schrieb einen Gray-Codes-Generator. https://github.com/rdm750/rdm750.github.io/blob/master/python/gray_code_generator.py # Ihr Code steht hier '' 'der n-1-Bit-Code, wobei jedem Wort 0 vorangestellt ist, gefolgt von dem n-1-Bit-Code in umgekehrter Reihenfolge, wobei jedem Wort 1 vorangestellt ist. '' '
quelle
Aktualisierung mit mehr Optionen
Vermeiden Sie die Verwendung von Schlüsselwörtern als Variablen wie "Liste" und benennen Sie "Liste" stattdessen in "Liste1" um
quelle
Hier ist eine einfache Antwort mit
pandas
.quelle
Und nicht
list
als Namen verwenden; Es schattiert den eingebauten Typ.quelle
'%sbar' % (x,)
statt'%sbar' % x
? Warum nichtx + 'bar'
?Die Verwendung von Namen wie "Liste" für Ihre Variablennamen ist schlecht, da dadurch die integrierten Funktionen überschrieben / überschrieben werden.
quelle
Nur für den Fall
quelle