Вместо того, чтобы пытаться сделать y
обычным числом, попробуйте сделать его списком со значениями [0, 1, 2, 3...]
и добавить его в исходный список.
Следующий код должен делать то, что вы хотите:
# The input
x = [5,8,13,16]
# An array containing [0, 1, 2, 3, ... len(x) - 1 ] with the exact size of the input
y = range(len(x))
# Iterate on both arrays, adding entries one by one
answer = [(z[0] + z[1]) for z in zip(x, y)]
print(answer)
Вывод:
[5, 9, 15, 19]
В качестве бонуса для этого решения с numpy
и np.arrange вы получите действительно читабельныйкод, понятный большинству программистов на Python:
import numpy as np
x = [5,8,13,16]
y = np.arange(len(x))
answer = x + y
print(answer)
Вывод:
[5 9 15 19]