span8
span4
我有以下列表作为例子:
原始列表:
mylist {0}。attr1 = a1
mylist {0}。attr2 = a2
mylist {0}。attr3 = a3
mylist {1}。attr1 = b1
mylist {1}。attr2 = b2
mylist {1}。attr3 = b3
mylist {2}。attr1 c1 =
mylist {2}。attr2 = c2
mylist {2}。attr3 = c3
mylist {3}。attr1 = d1
mylist {3}。attr2 = d2
mylist {3}。attr3 = d3
mylist {4}。attr1 = e1
mylist {4}。attr2 = e2
mylist {4}。attr3 = e3
我想重组这个列表元素,通过重新创建多个列表,将元素分组成2对,同时考虑到之前的元素索引如下:
新的重组元素:
lstGroup1 {0}。attr1 = a1
lstGroup1 {0}。attr2 = a2
lstGroup1 {0}。attr3 = a3
lstGroup1 {1}。attr1 = b1
lstGroup1 {1}。attr2 = b2
lstGroup1 {1}。attr3 = b3
lstGroup2 {0}。attr1 = b1
lstGroup2 {0}。attr2 = b2
lstGroup2 {0}。attr3 = b3
lstGroup2 {1}。attr1 c1 =
lstGroup2 {1}。attr2 = c2
lstGroup2 {1}。attr3 = c3
lstGroup3 {0}。attr1 c1 =
lstGroup3 {0}。attr2 = c2
lstGroup3 {0}。attr3 = c3
lstGroup3 {1}。attr1 = d1
lstGroup3 {1}。attr2 = d2
lstGroup3 {1}。attr3 = d3
lstGroup4 {0}。attr1 = d1
lstGroup4 {0}。attr2 = d2
lstGroup4 {0}。attr3 = d3
lstGroup4 {1}。attr1 = e1
lstGroup4 {1}。attr2 = e2
lstGroup4 {1}。attr3 = e3
我尝试创建一个自定义循环变压器使用采样器,但没有成功,可能是一个Python代码可以更容易地完成任务。请帮助。
注意,挑战在于原来的列表长度可以是可变的(动态的),可以是2、3、4、..50 +等
之后的意图是什么?用python构建您想要的列表非常简单,但是您必须键入所有的lstGroup名称来公开它们。
为i导入fme . getattribute ('mylist{}.attr1') attr2 = feature.getAttribute('mylist{}.attr2') attr3 = feature.getAttribute('mylist{}.attr3'), val in enumerate(attr1): if i < len(attr1)-1:feature.setAttribute('lstGroup'+str(i+1)+'{0}.attr1',attr1[i]) feature.setAttribute('lstGroup'+str(i+1)+'{1}.attr1',attr1[i+1]) feature.setAttribute('lstGroup'+str(i+1)+'{0}.attr2',attr2[i]) feature.setAttribute('lstGroup'+str(i+1)+'{1}.attr2',attr2[i+1]) feature.setAttribute('lstGroup'+str(i+1)+'{0}.attr3',attr3[i]) feature.setAttribute('lstGroup'+str(i+1)+'{1}.attr3',attr3[i+1])
©2019安全亚搏在线软件公司法律