Вызов функции в списке понимания - PullRequest
0 голосов
/ 27 февраля 2019

Здесь у меня есть функция

def celToFah(x):
    ftemps = []
    for i in x:
        ftemps.append((9/5 * i) + 32)
    return ftemps

, где я вызываю ее в списке понимания.

ctemps = [17, 22, 18, 19]

ftemps = [celToFah(c) for c in ctemps]

при получении следующей ошибки

объект 'int' не повторяется

Почему я получаю ошибку?

1 Ответ

0 голосов
/ 27 февраля 2019

celToFah ожидает список, вы даете ему int.

Либо измените celToFah так, чтобы он работал только на int с так:

def celToFah(x):
    return 9/5 * x + 32

ctemps = [17, 22, 18, 19]
ftemps = [celToFah(c) for c in ctemps]

Или передать ctemps непосредственно в celToFah:

def celToFah(x):
    ftemps = []
    for i in x:
        ftemps.append((9/5 * i) + 32)
    return ftemps

ctemps = [17, 22, 18, 19]
ftemps = celToFah(ctemps)
...