将功能应用于不同的对象(Python)

时间:2020-05-13 07:44:18

标签: python

我想将一个函数应用于许多不同的对象,而不要将这些对象分组为另一个对象(例如列表或字典)。例如,我的代码可能如下所示:

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的特定解决方案。

3 个答案:

答案 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]