我有一組名爲k1,k2 k3 .... k52的變量。他們的變量是列表/ numpy數組,取決於場景。本質上我想在一個循環內對它們進行相同的操作,但是在處理它們時遇到麻煩。基本上我喜歡這樣的事情:python中的變量名迭代?
for i in arange(0,52):
'k'+ str(i) = log10(eval('k' + str(i)))
很明顯,我知道上述不會工作,但它提供了這個想法。我實際的嘗試是這樣的:
for i in arange(0,10):
rate = eval('k' + str(i))
rate = np.array(rate,dtype=float)
rate = log10(rate)
rate.tolist()
vars()[rate] = 'k' + str(i)
(其改爲numpy的陣列,這樣我就可以登錄了,然後回一個列表,所以我改變變量名回到這是什麼),感謝您的幫助,您可以提供。我覺得這很簡單,但現在卻逃脫了我。
編輯:非常感謝您的回答,我應該解釋說,我不能真正地將它們存儲爲一個集合數組,他們需要保持爲獨立變量,原因是我不想進入。
爲什麼不把它們存儲在首位列表或字典? – 2013-03-01 15:54:30
我想知道有多少編程問題可以通過添加或刪除一層間接尋址來解決。 – 2013-03-01 15:57:33
這是人們學習Python數據結構的常見問題。這種方法就像在你所有的書上寫着「Nathan的書#1」,「Nathan的書#2」等等,把它們散佈在整個房子上,然後試圖優化一種方式來通過它們。如果你關心的是他們都在一個地方,把它們放在一個袋子裏(一套「套裝」)。如果你也關心這個命令,把它們放在一堆(一個「列表」)中,然後按照你的喜好排序或不排序。如果你關心能夠從名字中輕鬆訪問一個人,把它們放在書架上(一個'dict')。沒有標籤製作者需要! – DSM 2013-03-01 16:04:27