列表理解中的调用函数

时间:2019-02-27 01:28:52

标签: python python-3.x function list-comprehension

这里有一个功能

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 :(得分:1)

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)