у меня есть список
a = [49, 51, 53, 56]
Как вычесть 13 из каждого целочисленного значения в списке?
у меня есть список
a = [49, 51, 53, 56]
Как вычесть 13 из каждого целочисленного значения в списке?
a = [x - 13 for x in a]
def minus13(a):
на строку выше и сделав отступ на один уровень.
- person Ignacio Vazquez-Abrams; 07.02.2011
a[:]
слева вместо того, чтобы просто вернуть a
? Разве a[:]
не создает копию списка?
- person istruble; 07.02.2011
a
слева.
- person istruble; 07.02.2011
minus13()
— это функция, которую вы определяете в своем коде, которая возвращает результат понимания списка. Остальное — это создание списка и вызов функции, которая происходит в другом месте вашего кода.
- person Ignacio Vazquez-Abrams; 07.02.2011
a = [x - 13 for x in a]
будет работать так же хорошо и менее запутанно.
- person Lennart Regebro; 07.02.2011
Если вы много работаете с числами, обратите внимание на NumPy. Он позволяет выполнять все виды операций непосредственно с числовыми массивами. Например:
>>> import numpy
>>> array = numpy.array([49, 51, 53, 56])
>>> array - 13
array([36, 38, 40, 43])
Вы можете использовать функцию map():
a = list(map(lambda x: x - 13, a))
Уточнить уже опубликованное решение из-за вопросов в комментариях
import numpy
array = numpy.array([49, 51, 53, 56])
array = array - 13
выведет:
массив([36, 38, 40, 43])
Это будет работать:
for i in range(len(a)):
a[i] -= 13
i
) перебирала все возможные значения индекса. Эта индексная переменная необходима для изменения каждого элемента в списке.
- person Santa; 07.02.2011