首页 > 解决方案 > 列表理解中的调用函数

问题描述

在这里我有一个功能

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' 对象不可迭代

为什么我会收到错误消息?

标签: pythonpython-3.xfunctionlist-comprehension

解决方案


celToFah期待一个列表,你给它一个int.

要么更改celToFah为只在ints 上工作,如下所示:

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)

推荐阅读