python-3.x - 使用'for'循环迭代给定函数的列表
问题描述
是否可以通过自动更新结果来迭代给定函数?
假设我们有以下函数和 for 循环:
def something(m, p, f):
alpha = (p+f)*m
return alpha
mlist= [100, 1000]
for m in mlist:
alpha = something(m, 20, 1)
当我运行它时,它总是取列表中的最后一个值并计算 alpha。我想要做的是,为 mlist 中的每个 m 值计算 alpha。
我可以手动更新 alpha :
for m in mlist:
m = mlist[0]
alpha1= something(m, 20, 1)
m = mlist[1]
alpha2= something(m, 20, 1)
还有其他方法可以自动更新 alpha 吗?
谢谢
解决方案
实际上,您alpha
在每次迭代期间都将被覆盖,最后您将得到使用 last 计算的值m
。如果您希望保留或使用您的所有值,则alpha
必须将它们存储在其他位置,例如另一个列表,或者将其用于循环内的某些计算。
mlist= [100, 1000]
alphas = []
for m in mlist:
alpha = something(m, 20, 1)
#alphas.append(alpha) - option 1
#do something with alpha here - option 2
推荐阅读
- javascript - 如何在开发人员控制台日志中修复此 ajax 错误
- parallel-processing - CI/CD 管道中的并行性,例如 GitHub Actions
- java - 如何在 JTextPane 中放置双倍宽度和双倍高度字符?
- node.js - 嵌套对象数组的 MongoDB 查询优化
- flutter - 在颤动中将故事项目更改为动态小部件
- javascript - 无法使用 Material-UI Drawer 为页面创建页脚
- html - CSS跨度网格调整大小?
- python - Django静态文件未显示
- jmeter - 在JMeter中随机提取JSR223后处理器中的对应值
- appium - 如何确保在杀死 Appium 后释放 UIAutmator2 的端口 8200..8299?