python用for循环排序,for语句并列执行顺序
我使用了一个具有以下类型结构/条目的数组(用于量子信息游戏的主页项目);
第一列项目{0,1},第二列{0,1},第三列{0,2 * * (d-1),最后一列{0,d-1}。
下一个d=3:
G=
[[0 0 0 0]
[0 0 0 1]
[0 0 0 2]
[0 0 1 0]
[0 0 1 1]
[0 0 1 2]
[0 0 2 0]
[0 0 2 1]
[0 0 2 2]
[0 0 3 0]
[0 0 3 1]
[0 0 3 2]
[0 1 0 0]
[0 1 0 1]
[0 1 0 2]
[0 1 1 0]
[0 1 1 1]
[0 1 1 2]
[0 1 2 0]
[0 1 2 1]
[0 1 2 2]
[0 1 3 0]
[0 1 3 1]
[0 1 3 2]
[1 0 0 0]
[1 0 0 1]
[1 0 0 2]
[1 0 1 0]
[1 0 1 1]
[1 0 1 2]
[1 0 2 0]
[1 0 2 1]
[1 0 2 2]
[1 0 3 0]
[1 0 3 1]
[1 0 3 2]
[1 1 0 0]
[1 1 0 1]
[1 1 0 2]
[1 1 1 0]
[1 1 1 1]
[1 1 1 2]
[1 1 2 0]
[1 1 2 1]
[1 1 2 2]
[1 1 3 0]
[1 1 3 1]
[1 1 3 2]]
下面的函数用于构建这个数组。
定义游戏(d=3):
RES=NP.empty(0)。as type (int)).
for in范围(2):
forbinrange(2):
forxinrange (2个* * (d-1)):
foryinrange(d):
RES=NP.append(RES,[a,b,x,y],axis=0)))
RES=NP . shape(RES,(-1,4))
返回结果
我现在想做的是,我可以很容易地从列中的项目中选择计数的顺序。()从左边的右栏开始。
例如,假设Id开始像第一列那样计数,然后是第三列,然后是第四列,最后是第二列。这可以通过替换函数的for循环来实现。
定义游戏(d=3):
RES=NP.empty(0)。as type (int)).
forbinrange(2):
foryinrange(d):
forxinrange (2个* * (d-1)):
for in范围(2):
RES=NP.append(RES,[a,b,x,y],axis=0)))
RES=NP . shape(RES,(-1,4))
返回结果
这将导致:
G=
[[0 0 0 0]
[1 0 0 0]
[0 0 1 0]
[1 0 1 0]
[0 0 2 0]
[1 0 2 0]
[0 0 3 0]
[1 0 3 0]
[0 0 0 1]
[1 0 0 1]
[0 0 1 1]
[1 0 1 1]
[0 0 2 1]
[1 0 2 1]
[0 0 3 1]
[1 0 3 1]
[0 0 0 2]
[1 0 0 2]
[0 0 1 2]
[1 0 1 2]
[0 0 2 2]
[1 0 2 2]
[0 0 3 2]
[1 0 3 2]
[0 1 0 0]
[1 1 0 0]
[0 1 1 0]
[1 1 1 0]
[0 1 2 0]
[1 1 2 0]
[0 1 3 0]
[1 1 3 0]
[0 1 0 1]
[1 1 0 1]
[0 1 1 1]
[1 1 1 1]
[0 1 2 1]
[1 1 2 1]
[0 1 3 1]
[1 1 3 1]
[0 1 0 2]
[1 1 0 2]
[0 1 1 2]
[1 1 1 2]
[0 1 2 2]
[1 1 2 2]
[0 1 3 2]
[1 1 3 2]]
替换函数中for循环的顺序是有效的,但是必须创建24种不同的情况来覆盖所有的数组。你知道通常有更好的解决方案/方法吗?
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。