[英]How to pass in element into For-loop to run a function
自從我提出問題以來已經有一段時間了,但我需要幫助來完成我認為是一項簡單的任務。
我有一個已傳遞到循環中的字符串值列表。 每個字符串都與父 package(在本例中為 QuantStats)的 function 相關。
代碼如下所示:
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 function 可以運行。
希望有一個簡單的解決方法? 任何想法將不勝感激:) 謝謝。
使用 getattr() function 得到定義的 function。 像這樣:
import QuantStats as qs
list = ['avg_loss', 'avg_gain', 'best']
for l in list:
(>>) print(l)
(>>) print(getattr(qs.stats,l)(df['returns'])
我認為您輸入 1 而不是i
,應該是( for i in List:
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.