[英]Alternate way to do Iterative name/variables in Pythonic while loop
所以我知道在迭代它時修改變量名是一種pythonic異端,但我一直在尋找一種好的pythonic方法來做到這一點並且可以解決它。 在統計編程(Stata,SAS)中,這樣的代碼很常見:
for x in 1/y:
gen a`x'=0
這會給你y變量,a1,a2,a3 .... ay都等於0。
我已經看到其他帖子說要做這樣的事情你可以創建一個庫並調用所有這些值,但是如果你有一個無限(有限)數值的話呢?
特別是在下面的例子中(這是執行簡單行 - 梯形縮減的代碼的開頭),我想用ax創建迭代變量(參見倒數第二行),其中x等於0(所以a0)在第一次迭代,第二次迭代時為1(或a1),依此類推,一直到ax。
我沒有看到用字典做這個的方法,因為我必須首先指定它中的條目數。 也許我在這里的理解是有缺陷的,但這就是我的想法。
def cmultadd(n, j, k, const):
out = eye(n)
out[j,k] = const
return out
def rowred(a):
numrows = len(a)-1
x=0
while x<=numrows:
ax=sp.dot(cmultadd(3,x,0,-ax[x+1,0]/ax[0,0]), a(x-1)); ax
x=x+1
有人可以解釋一個pythonic的方式來做我在這里用倒數第二行的ax變量做的事嗎? 如果你能以一種有意義的方式解釋它給出第一個例子(來自stata):)和(想象的)獎勵積分:)
謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.