我想知道如何从数组中提取sub_array(可以是不同的大小)。因此,通过给定一个数组,我想要一个子数组元素的总和,如:
Ext.create('Ext.panel.Panel', {
layout: "fit",
renderTo: "view",
width:1100,
height: 500,
items: {
layout: "border",
deferredRender: false,
items: [mapPanel, tree,
]
}
});
我的问题是,如何为不同大小的数组创建这样的子数组,以及如何将Array = [1, 2, 3]
SubArray = [(1),(2),(3),(1,2),(2,3),(1,2,3)]
subArray元素作为python中的最终结果。
我不想使用numpy!
答案 0 :(得分:1)
您可以使用以下内容:
itertools.chain(*(itertools.combinations(Array, r=r) for r in range(1, len(Array)+1)))
答案 1 :(得分:1)
您可以使用:
sublist = []
for i in range(1, len(mylist)+1): # number of items in sublist
for j in range(len(mylist)-i+1): # index of sublist
sublist.append( tuple(mylist[j:j+i]) )
对于第二个问题(xor-ing所有元素),您可以使用:
result = 0
for sub in sublist:
for e in sub:
result ^= e
但是,如果您在此之后不需要sublist
,则可以这样做:
sublist = []
for i in range(1, len(mylist)+1): # number of items in sublist
for j in range(len(mylist)-i+1): # index of sublist
for e in mylist[j:j+i]:
result ^= e
这消除了一些冗余。