创build多个variables
我想在Python中创build10个variables(不是数组)。 像这样的东西:
for i in range(1,10,1) variable i = 100 / i print variable i
我想创buildvariables名,在这种情况下: variable1
, variable2
, variable3
,…, variable10
我不想要一个数组
我有一个坐标图(640 x 480)。 我正在识别像素颜色为白色的坐标。 地球上有3个球,我想要得到每个球的中心坐标,所以如果被评估的坐标与最后一个坐标相近,那么x和y坐标将被平均,如果坐标属于新的球坐标属于一个新的坐标组将被评估。
p=0 h=0 for j in range(1,480,1): for i in range(1,640,1): c=cv.Get2D(image,j,i) if c[0] == 255: old_coord X = new_coord x new_coord x += [(i,j)] if (old_coord x - 5 < new_coord x < old_coord x + 5) averx x = averx x + i avery x = averx x + j count x = count x + 1 else p = p + 1 new_coord x += [(i,j)] average(averx1 , count 1) average(avery1 , count 1) average(averx2 , count 2) average(avery2 , count 2)
你不应该这样做,但你可以如果你真的想要
for j in range(1,10,1): exec('var_%d = j'%j)
我可以再次强调你不应该这样做 ,但我没有理由隐藏自我的能力。
鉴于你想要做什么,我会寻找形态操作 。 对于你正在做的事情,有更好的algorithm。 (它看起来像你想要做的事情已经在scipy , 例子 )。
引用unutbu:
也许我应该试着说服你,有名为variable1
, variable2
等variable2
是一个坏主意。 由于这些variables是有编号的,所以它们可能有一些密切的关系。 也许他们都是数字。 假设你想把它们全部加一。 你必须编写重复的代码,如
variable1 += 1 variable2 += 1 variable3 += 1 ... etc
代替
for i in range(1,10,1): x[i] += 1
或者也许你想把所有这些variables提供给一个函数。 你必须写
func(variable1, variable2, variable3, ...)
代替
func(**x)
结论:编号variables名称是一个痛苦! 通过使用字典或列表保存自己的痛苦。
永远不要创build编号的variables名(1或2也许,但从来没有9.)而是使用列表或字典:
x = dict() for i in range(1,10,1) x[i] = 100 / i print x[i]
(我在这种情况下使用了字典,因为i
从1开始)。但是,根据您希望如何使用x
进一步,您可能需要使用列表。
也许我应该试着说服你,有名为variable1
, variable2
等variable2
是一个坏主意。 由于这些variables是有编号的,所以它们可能有一些密切的关系。 也许他们都是数字。 假设你想把它们全部加一。 你必须编写重复的代码,如
variable1 += 1 variable2 += 1 variable3 += 1 ... etc
代替
for i in range(1,10,1): x[i] += 1
或者也许你想把所有这些variables提供给一个函数。 你必须写
func(variable1, variable2, variable3, ...)
代替
func(**x)
结论:编号variables名称是一个痛苦! 通过使用字典或列表保存自己的痛苦。