【发布时间】:2013-09-24 20:27:23
【问题描述】:
我有来自两个不同对象的两组相同的int 变量的关键,但一个以 0 开始其第一个元素,另一个以 1 开始
a = 0, b = 5, c = 7 # var_abc
x = 1, y = 6, d = 6 # var_xyz
为了进行其他处理,我必须将 var_xyz 转换为 var_xyz == var_abc,所以我必须为 var_xyz 中的每个变量编写这一行代码:
x,y,z = x-1, y-1, z-1
如果我们只是实例化 var_xyz 中的变量,我们可以这样做:
x,y,z = (0,)*3
是否有另一种方法使我不需要为 var_xyz 中的每个变量硬编码 var-1?想象一下,如果 var_xyz 中有 1000 个变量。
【问题讨论】:
-
你能阐明你的目标吗?
d应该是 8 对吧?你的意思是a,b,c = x-1,y-1,z-1?您确实需要一个列表,然后您可以像下面的大多数答案一样使用列表理解。 -
如果
d=8那么在var_xyz中有一个对应的变量等于7