J'ai une liste d'entiers et je me demandais s'il serait possible d'ajouter des entiers individuels dans cette liste.
Voici un exemple où les choses à ajouter proviennent d'un dictionnaire
>>> L = [0, 0, 0, 0]
>>> things_to_add = ({'idx':1, 'amount': 1}, {'idx': 2, 'amount': 1})
>>> for item in things_to_add:
... L[item['idx']] += item['amount']
...
>>> L
[0, 1, 1, 0]
Voici un exemple d'ajout d'éléments d'une autre liste
>>> L = [0, 0, 0, 0]
>>> things_to_add = [0, 1, 1, 0]
>>> for idx, amount in enumerate(things_to_add):
... L[idx] += amount
...
>>> L
[0, 1, 1, 0]
Vous pouvez également réaliser ce qui précède avec une liste de compréhension et Zip
L[:] = [sum(i) for i in Zip(L, things_to_add)]
Voici un exemple d’ajout à partir d’une liste de tuples
>>> things_to_add = [(1, 1), (2, 1)]
>>> for idx, amount in things_to_add:
... L[idx] += amount
...
>>> L
[0, 1, 1, 0]
Vous pouvez ajouter à la fin d'une liste:
foo = [1, 2, 3, 4, 5]
foo.append(4)
foo.append([8,7])
print(foo) # [1, 2, 3, 4, 5, 4, [8, 7]]
Vous pouvez modifier les éléments de la liste comme ceci:
foo = [1, 2, 3, 4, 5]
foo[3] = foo[3] + 4
print(foo) # [1, 2, 3, 8, 5]
Insérer des entiers au milieu d'une liste:
x = [2, 5, 10]
x.insert(2, 77)
print(x) # [2, 5, 77, 10]
fooList = [1,3,348,2]
fooList.append(3)
fooList.append(2734)
print(fooList) # [1,3,348,2,3,2734]
Si vous essayez d’ajouter le numéro comme, par exemple, listName.append(4)
, ceci ajoutera enfin 4
. Mais si vous essayez de prendre <int>
et que vous l’ajoutez ensuite, num = 4
suivi de listName.append(num)
, cela donnera vous une erreur en tant que 'num' is of <int> type
et listName is of type <list>
. Alors, tapez cast int(num)
avant de l'ajouter.
Oui, c'est possible puisque les listes sont mutables.
Examinez la fonction enumerate()
intégrée pour avoir une idée de la marche à suivre pour parcourir la liste et rechercher l'index de chaque entrée (que vous pourrez ensuite utiliser pour l'affecter à l'élément de liste spécifique).