簡體   English   中英

如何將元素傳入 For 循環以運行 function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM