【问题标题】:How to pass in element into For-loop to run a function如何将元素传递到 For 循环中以运行函数
【发布时间】:2020-07-08 02:31:57
【问题描述】:

我已经有一段时间没有提出问题了,但我需要帮助来完成我认为很简单的任务。

我有一个已传递到循环中的字符串值列表。每个字符串都与父包的一个函数有关(在本例中为 QuantStats)。

代码如下:

import QuantStats as qs
list = ['avg_loss', 'avg_gain', 'best']

for l in list:
(>>) print(l)
(>>) print(qs.stats.l(df['returns']) (Error here - 'l' not recognised. no output)

由于某种原因,qs.stats.l 行不起作用。我不确定如何引用列表中的每个元素,以便 qs 函数可以运行。

希望有一个简单的解决方法?任何想法将不胜感激:)谢谢。

【问题讨论】:

标签: python-3.x list for-loop


【解决方案1】:

使用 getattr() 函数获取定义的函数。像这样:

import QuantStats as qs
list = ['avg_loss', 'avg_gain', 'best']

for l in list:
(>>) print(l)
(>>) print(getattr(qs.stats,l)(df['returns'])

【讨论】:

  • 哈哈我没有注意到 ,l 并且遇到了归属问题。感谢您的建议!这解决了我的问题:)
【解决方案2】:

我认为您输入 1 而不是 i , 应该是 (for i in List:)

【讨论】:

  • 他们使用了小写的L (l),而不是1i 在任何地方都不会出现)。并且错误不在循环本身...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-21
  • 2019-12-29
  • 2016-07-18
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多