it-swarm.com.de

Wie füge ich jedem Element in einer Liste eine Ganzzahl hinzu?

Wenn ich list=[1,2,3] habe und 1 zu jedem Element hinzufügen möchte, um die Ausgabe [2,3,4], Zu erhalten, wie würde ich das tun?

Ich gehe davon aus, dass ich eine for-Schleife verwenden würde, aber nicht genau weiß, wie.

86
user1212818
new_list = [x+1 for x in my_list]
104
Ned Batchelder
>>> mylist = [1,2,3]
>>> [x+1 for x in mylist]
[2, 3, 4]
>>>

List-Comprehensions Python .

20
RanRag

Die anderen Antworten zum Listenverständnis sind wahrscheinlich die beste Wahl für die einfache Addition. Wenn Sie jedoch eine komplexere Funktion haben, die Sie auf alle Elemente anwenden müssen, ist map eine gute Wahl.

In Ihrem Beispiel wäre das:

>>> map(lambda x:x+1, [1,2,3])
[2,3,4]
15
Andrew Cox

wenn Sie numpy verwenden möchten, gibt es eine andere Methode wie folgt

import numpy as np
list1 = [1,2,3]
list1 = list(np.asarray(list1) + 1)
11
sushmit
>>> [x.__add__(1) for x in [1, 3, 5]]
3: [2, 4, 6]

Ich beabsichtige hier zu zeigen, ob das Element in der Liste eine Ganzzahl ist, die verschiedene integrierte Funktionen unterstützt. 

10
Kracekumar

Verwenden Sie zunächst nicht die Word-Liste für Ihre Variable. Es wird das Schlüsselwort list angezeigt.

Am besten tun Sie dies mit Splicing. Beachten Sie, dass [:] einen Splice bezeichnet:

>>> _list=[1,2,3]
>>> _list[:]=[i+1 for i in _list]
>>> _list
[2, 3, 4]
5
robert king

Python 2+:

>>> mylist = [1,2,3]
>>> map(lambda x: x + 1, mylist)
[2, 3, 4]

Python 3+:

>>> mylist = [1,2,3]
>>> list(map(lambda x: x + 1, mylist))
[2, 3, 4]
4
satomacoto

Kam über eine nicht so effiziente, aber einzigartige Art und Weise, es zu tun. Teilen Sie es also über. Und ja, es benötigt zusätzlichen Speicherplatz für eine andere Liste.

test_list1 = [4, 5, 6, 2, 10]
test_list2 = [1] * len(test_list1)

res_list = list(map(add, test_list1, test_list2))

print(test_list1)
print(test_list2)
print(res_list)

#### Output ####
[4, 5, 6, 2, 10]
[1, 1, 1, 1, 1]
[5, 6, 7, 3, 11]
0
Preetham
list = [1,2,3,4,5]

for index in range(5):
      list[index] = list[index] +1

print(list)
0
Munchjax