这里我有一个功能

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

为什么我收到错误?

最佳答案

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)

关于python - 列表理解中的调用函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54896667/

10-12 20:57