О случае спискового включения над несколькими списками

Любая определённая функция, к примеру:

def sum(x,y):
    sume = 0
    x = 0
    x += (x[i] - x[i-1])**2 
    y = 0
    y += (y[i] - y[i-1])**2
    sume = (x+y)**0.5
    return sume

а теперь я хочу применить её на массивы обеих переменных. не придумал ничего лучше, как:

[sum(i,j) for i,j in zip(x,y)]

где х и у:

x = random.randint(5,100)
y = random.randint(5,100)

вывод сообщает, что 'int' object is not iterable. Я подумал, что причина в том, что локальные и глобальные одним именем (в функции локальные действительно int). Но переименование действия не возымело. Сам подход не верен? спасибо


Ответы (1 шт):

Автор решения: Александр

Все верно, вы передали в zip числа в качестве аргументов, что не соответствует его сигнатуре

Полагаю, вы хотели передать туда что-то такое:

x = range(random.randint(5,100))
y = range(random.randint(5,100))
→ Ссылка