it-roy-ru.com

Добавить к целым числам в списке

У меня есть список целых чисел, и мне было интересно, можно ли добавить к отдельным целым числам в этом списке. 

5
fangus

Вот пример, где вещи, которые нужно добавить, взяты из словаря

>>> 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]

Вот пример добавления элементов из другого списка

>>> 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]

Вы также можете достичь вышеизложенного с помощью понимания списка и Zip

L[:] = [sum(i) for i in Zip(L, things_to_add)]

Вот пример добавления из списка кортежей

>>> things_to_add = [(1, 1), (2, 1)]
>>> for idx, amount in things_to_add:
...     L[idx] += amount
... 
>>> L
[0, 1, 1, 0]
8
John La Rooy

Вы можете добавить в конец списка:

foo = [1, 2, 3, 4, 5]
foo.append(4)
foo.append([8,7])    
print(foo)            # [1, 2, 3, 4, 5, 4, [8, 7]]

Вы можете редактировать элементы в списке следующим образом:

foo = [1, 2, 3, 4, 5]
foo[3] = foo[3] + 4     
print(foo)            # [1, 2, 3, 8, 5]

Вставьте целые числа в середину списка:

x = [2, 5, 10]
x.insert(2, 77)
print(x)              # [2, 5, 77, 10]
19
Gordon Gustafson
fooList = [1,3,348,2]
fooList.append(3)
fooList.append(2734)
print(fooList) # [1,3,348,2,3,2734]
5
The Communist Duck

Если вы попытаетесь добавить число, например, скажем listName.append(4), это, наконец, добавит 4 . Но если вы попытаетесь взять <int>, а затем добавить его как, num = 4, а затем listName.append(num), это выдаст вам ошибку, как 'num' is of <int> type и listName is of type <list>. Поэтому сделайте приведение типа int(num) перед его добавлением.

1
devDeejay

Да, это возможно, поскольку списки изменчивы.

Посмотрите на встроенную функцию enumerate() , чтобы получить представление о том, как перебирать список и находить индекс каждой записи (который затем можно использовать для назначения определенному элементу списка).

0
Tim Pietzcker