我想将一个函数应用于许多不同的对象,而不要将这些对象分组为另一个对象(例如列表或字典)。例如,我的代码可能如下所示:
termxx = switch_values(termxx)
termyy = switch_values(termyy)
state = switch_values(state)
ori = switch_values(ori)
p1n = switch_values(p1n)
p2n = switch_values(p2n)
p3n = switch_values(p3n)
如您所见,该结构非常简单,我想知道是否可以一直不使用repeatig functionname()
来编写它。
这可能是一个通用的编程问题,并且有一些我不知道的特定术语。我希望知道该概念的链接/解释;欢迎使用针对Python的特定解决方案。
答案 0 :(得分:0)
是的,这是一个非常常见的编程问题。如果您重复执行某项操作,则应该创建一个循环。但是,一项重要任务是找到如何填充循环。就您而言,您可以简单地列出要处理的变量的列表:
vars = [termxx, termyy, state, ori, p1n, p2n, p3n]
for item in vars:
item = switch_values(item)
对于split the list back into different variables,您可以使用以下行:
termxx, termyy, state, ori, p1n, p2n, p3n = vars
答案 1 :(得分:0)
items = [imc,termxx,termyy,state,ori,p1n,p2n,p3n]
items = [switch_values (item) for item in items]
这可能是最优雅的解决方案
答案 2 :(得分:0)
不知道该概念是否存在名称,但是您可以列出并对其进行迭代。
objects = [imc,termxx,termyy,state,ori,p1n,p2n,p3n]
objects = [switch_values(value) for value in objects]