Wie würde ich das tun, wenn ich zu jedem Element etwas list=[1,2,3]
hinzufügen möchte und möchte, 1
um die Ausgabe zu erhalten [2,3,4]
?
Ich nehme an, ich würde eine for-Schleife verwenden, bin mir aber nicht sicher, wie.
new_list = [x+1 for x in my_list]
lst = [1, 2, 3]; e = lst[0]; e += 1
.e
Es gibt keine Informationen darüber, woher es stammt. Es ist lediglich eine Variable, der ein Element einer Liste zugewiesen wurde. Nachdem Sie ihm etwas anderes zugewiesen haben,lst
ändert sich die Liste nicht.new_list = (x+1 for x in my_list)
Listenverständnis Python .
quelle
Die anderen Antworten zum Listenverständnis sind wahrscheinlich die beste Wahl für eine einfache Hinzufügung. Wenn Sie jedoch eine komplexere Funktion haben, die Sie auf alle Elemente anwenden müssen, ist die Karte möglicherweise eine gute Lösung.
In Ihrem Beispiel wäre es:
quelle
map(1 .__add__, ...)
funktioniert auch. Beachten Sie, dass Sie ein Leerzeichen zwischen1
und benötigen.
, um zu verhindern, dass der Parser denkt, es sei ein FloatWenn Sie numpy verwenden möchten, gibt es eine andere Methode wie folgt
quelle
Bearbeiten: Dies ist nicht vorhanden
Verwenden Sie zunächst nicht das Wort "Liste" für Ihre Variable. Es schattiert das Schlüsselwort
list
.Der beste Weg ist, dies durch Spleißen zu tun. Beachten Sie, dass es sich um
[:]
einen Spleiß handelt:quelle
_list[:]=(i+1 for i in _list)
._list[:]=(i+1 for i in _list)
eine neue Liste?Ich möchte hier offenlegen, ob das Element in der Liste eine Ganzzahl ist, die verschiedene integrierte Funktionen unterstützt.
quelle
Python 2+:
Python 3+:
quelle
was gibt
quelle
Kam auf eine nicht so effiziente, aber einzigartige Art und Weise. Und ja, es erfordert zusätzlichen Speicherplatz für eine andere Liste.
quelle
from operator import add
quelle
Viele der obigen Antworten sind sehr gut. Ich habe auch einige seltsame Antworten gesehen, die den Job machen werden. Die letzte Antwort war eine normale Schleife. Diese Bereitschaft, Antworten zu geben, führt mich zu
itertools
undnumpy
, die den gleichen Job auf andere Weise erledigen.Hier stelle ich verschiedene Möglichkeiten vor, um die Arbeit zu erledigen, die oben nicht beantwortet wurden.
Ausgabe
Mein einziger Grund, die Verwendung von hervorzuheben,
numpy
ist, dass man solche Manipulationen immer mit Bibliotheken wie numpy durchführen sollte, da dies für sehr große Arrays leistungsfähig ist.quelle