作者yoyokid (Anthony Joshua)
看板Python
標題[問題] for 迴圈指派變數
時間Tue Oct 27 01:30:46 2015
各位大大我想 使用for迴圈來大量指派變數或矩陣等等
例如 for i in range(n):
data i = i+100
>>> data0 = 100
>>> data1 = 101
.
.
.
依此類推 請問有什麼指令適合?
小弟python新手 麻煩各位高手指導 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.78.236
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1445880649.A.C00.html
→ ccwang002: 不考慮用 list? 10/27 01:42
→ ccwang002: 真的要加變數,globals()['var_name'] = val 10/27 01:43
→ ccwang002: 上述方法**極**不常見也不推薦,用 list / dict 就好了 10/27 01:46
推 tn00364361: 可以考慮用numpy arrary 10/27 07:12
→ tn00364361: from numpy import * 10/27 07:14
→ tn00364361: n = 自己設個數字 10/27 07:14
→ tn00364361: data = arange(n) + 100 10/27 07:14
我主要想問的是 如何將迴圈i數字引入變數名 data"i"
data"i" 所儲存的東西不一定是矩陣
目前是這樣寫 但字串不能指派 找不到可以轉回
一般變數名的函式
for i in range(10):
'data'+i.__str__()
※ 編輯: yoyokid (140.116.78.236), 10/27/2015 13:55:47
→ uranusjr: 你先說說看你有什麼非得這樣做的理由 10/27 14:07
→ bigpigbigpig: 除非有很好的理由,這樣做並無益處,不如改用 array 10/27 14:22
我想做影像切割 影像是以矩陣的方式下去儲存(RGB) 由於我切割數量不一定
我想寫個通用的code 不管切5個10個只要setting好切割數 code都能使用
※ 編輯: yoyokid (140.116.78.236), 10/27/2015 14:42:06
噓 tiefblau: exec("data%d = %d" % (i, 100 + i)) 10/27 14:55
→ tiefblau: 之所以給噓是因為這用法非常不ok 你的用途也根本不需要 10/27 14:55
→ tiefblau: 這樣用 又危險又沒必要 10/27 14:55
→ bigpigbigpig: 那就用 dict(),可以滿足你的需求,超好用又合法 10/27 15:54
→ aweimeow: 認同樓上,以dict存感覺是個很不錯的方法 10/28 09:41
→ aweimeow: dict['data%d' % i] = .... 10/28 09:42
→ aweimeow: 而且還可以用 for key in dict: 去把每個data取出來 10/28 09:42
dict 讚 已解決
※ 編輯: yoyokid (140.116.78.236), 10/28/2015 15:54:27
推 yimean: dict後面好像不能指定物件。 04/27 15:10