作者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://webptt.com/cn.aspx?n=bbs/Python/M.1445880649.A.C00.html
1F:→ ccwang002: 不考虑用 list? 10/27 01:42
2F:→ ccwang002: 真的要加变数,globals()['var_name'] = val 10/27 01:43
3F:→ ccwang002: 上述方法**极**不常见也不推荐,用 list / dict 就好了 10/27 01:46
4F:推 tn00364361: 可以考虑用numpy arrary 10/27 07:12
5F:→ tn00364361: from numpy import * 10/27 07:14
6F:→ tn00364361: n = 自己设个数字 10/27 07:14
7F:→ 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
9F:→ uranusjr: 你先说说看你有什麽非得这样做的理由 10/27 14:07
10F:→ bigpigbigpig: 除非有很好的理由,这样做并无益处,不如改用 array 10/27 14:22
我想做影像切割 影像是以矩阵的方式下去储存(RGB) 由於我切割数量不一定
我想写个通用的code 不管切5个10个只要setting好切割数 code都能使用
※ 编辑: yoyokid (140.116.78.236), 10/27/2015 14:42:06
11F:嘘 tiefblau: exec("data%d = %d" % (i, 100 + i)) 10/27 14:55
12F:→ tiefblau: 之所以给嘘是因为这用法非常不ok 你的用途也根本不需要 10/27 14:55
13F:→ tiefblau: 这样用 又危险又没必要 10/27 14:55
14F:→ bigpigbigpig: 那就用 dict(),可以满足你的需求,超好用又合法 10/27 15:54
15F:→ aweimeow: 认同楼上,以dict存感觉是个很不错的方法 10/28 09:41
16F:→ aweimeow: dict['data%d' % i] = .... 10/28 09:42
17F:→ aweimeow: 而且还可以用 for key in dict: 去把每个data取出来 10/28 09:42
dict 赞 已解决
※ 编辑: yoyokid (140.116.78.236), 10/28/2015 15:54:27
18F:推 yimean: dict後面好像不能指定物件。 04/27 15:10