python中数组的运算符

时间:2017-12-10 21:23:33

标签: python arrays

我想知道如何从数组中提取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!

2 个答案:

答案 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

这消除了一些冗余。