我有一个功能,根据类型t,需要应用不同的功能。我尝试了以下方法,但它在列表上下文中不起作用。
def compute(d, t='c'):
"""
d is the computing variable
t is the type, can be a list
"""
if t == 'a':
p = fa(d)
elif t == 'b':
p = fb(d)
else:
p = fc(d)
return p
例如,t可能是
t = ['a', 'b', 'a' , 'c', 'b']
并且应该返回
p = [fa(d), fb(d), fa(d), fc(d), fb(d)]
有什么建议吗?
干杯, 麦克
答案 0 :(得分:0)
这应该有效
def compute(d, t='c'):
"""
d is the computing variable
t is the type, can be a list
"""
l = []
for x in t:
if t == 'a':
l.append(fa(d))
elif t == 'b':
l.append(fb(d))
else:
l.append(fc(d))
if len(l) == 1:
return l[0]
else:
return l
compute(d, ['a', 'b', 'a' , 'c', 'b'])
它处理t
中的所有内容,无论是单个项目还是列表。
请注意,它返回被调用函数的返回值,而不是函数及其参数