Python:将函数调用的列表索引作为自己的参数传递

Python:将函数调用的列表索引作为自己的参数传递,python,python-3.x,coding-efficiency,Python,Python 3.x,Coding Efficiency,我有一个相当大的3.9KB脚本,设计用于根据一些参数、居中等对齐一些文本。 下面是我希望改进的模块:对代码的错误表示歉意,但问题不在于函数做什么,而在于它们的结构:它们在理论上工作得很好,但我很想把它们缩短 我知道SO的政策是,我们不会为您编写代码,我绝对不想寻求这样的帮助,只是寻求指导:有没有办法,我已经在谷歌上搜索过了,谷歌通过动态调用内容并根据其数组索引进行自定义,使LnMgn及其类似数组更高效、更小规模?只需使用列表理解。一个例子: LnMgn = [calcMgn(index)*spa

我有一个相当大的3.9KB脚本,设计用于根据一些参数、居中等对齐一些文本。 下面是我希望改进的模块:对代码的错误表示歉意,但问题不在于函数做什么,而在于它们的结构:它们在理论上工作得很好,但我很想把它们缩短


我知道SO的政策是,我们不会为您编写代码,我绝对不想寻求这样的帮助,只是寻求指导:有没有办法,我已经在谷歌上搜索过了,谷歌通过动态调用内容并根据其数组索引进行自定义,使LnMgn及其类似数组更高效、更小规模?

只需使用列表理解。一个例子:

LnMgn = [calcMgn(index)*spa for index in range(4)]

您可以对所有其他函数执行相同的操作。

您还可以创建一个函数列表:

func_list = [f1, f2, f3, f4]
比如,给他们打电话,比如:

[func_list[i](i) for i in range(4)]
此示例将返回:

[f1(0), f2(1), f3(2), f4(3)]

不要只是为错误的格式道歉——如果你想让其他人阅读并遵循你的代码,你应该阅读并遵循。你应该仔细阅读地图、邮政编码以及理解,以帮助改进你的代码。@jornsharpe幸好没有人会读到这篇文章,那么……除非你现在要求我们大家都读。您可以随心所欲地编写自己的代码,但前提是您从不提问,也不与任何其他人合作。一旦情况并非如此或之前,视情况可能发生变化,找到并遵循风格指南;这只是基本的礼貌。而且,我只想说读这些东西会让我的眼睛流血。请正确格式化您的代码,这对每个人都有利。您还可以执行[funcindex for index,enumeratefunc_list中的func]。
[f1(0), f2(1), f3(2), f4(3)]