在 Python (3.x) 中使用不同的参数连续多次调用一个函数?

新手上路,请多包涵

我有一段代码看起来像这样:

 myfunction(a, b, c)
myfunction(d, e, f)
myfunction(g, h, i)
myfunction(j, k, l)

参数的数量不变,但每次都必须使用不同的值连续调用该函数。这些值不是自动生成的,而是手动输入的。是否有内联解决方案可以在不创建调用此函数的函数的情况下执行此操作?就像是:

 myfunction(a, b, c)(d, e f)(g, h, i)(j, k, l)

任何帮助表示赞赏。提前致谢!

原文由 Terrornado 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 596
2 个回答

简单,使用元组拆包

tripples = [('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'h', 'i'), ('j', 'k', 'm')]
for tripple in tripples:
    print(myfunction(*tripple))

原文由 Xero Smith 发布,翻译遵循 CC BY-SA 3.0 许可协议

我很惊讶没有人提到 map

 map(func, iter)

它将 iter 中的每个可迭代映射到 func 在第一个参数中传递。

对于您的用例,它应该看起来像

map(myfunction, *zip((a, b, c), (d, e, f), (g, h, i), (j, k, l)))

原文由 vpshastry 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题