Mam listę
a = [49, 51, 53, 56]
Jak odjąć 13 od każdej wartości całkowitej na liście?
python
python-3.x
jaycodez
źródło
źródło
def minus13(a):
w wierszu powyżej wcięcia jeden poziom.a[:]
po lewej stronie zamiast przypisywać z powrotem doa
? Niea[:]
tworzy kopii listy?a = [x - 13 for x in a]
będzie działać równie dobrze i jest mniej zagmatwany.Jeśli dużo pracujesz z liczbami, możesz rzucić okiem na NumPy . Umożliwia wykonywanie wszelkiego rodzaju operacji bezpośrednio na tablicach numerycznych. Na przykład:
>>> import numpy >>> array = numpy.array([49, 51, 53, 56]) >>> array - 13 array([36, 38, 40, 43])
źródło
Możesz użyć funkcji map () :
a = list(map(lambda x: x - 13, a))
źródło
Aby wyjaśnić już opublikowane rozwiązanie z powodu pytań w komentarzach
import numpy array = numpy.array([49, 51, 53, 56]) array = array - 13
wyświetli:
źródło
To zadziała:
for i in range(len(a)): a[i] -= 13
źródło
i
) iterowała przez wszystkie możliwe wartości indeksu. Ta zmienna indeksu jest potrzebna do mutowania każdego elementu na liście.