计算列表中的元素&阵列相继

时间:2015-09-06 02:26:56

标签: arrays list python-2.7 tuples

我有列表或数组或元组来处理:

Query

我希望得到以下结果:

A = [1,1,1,-1,-1,-1,-1,1,1,1,-1,-1]
AA = [a,a,b,b,b,a,b,b,b,b,b,a,a]

1 个答案:

答案 0 :(得分:1)

A = [1,1,1,-1,-1,-1,-1,1,1,1,-1,-1]
AA = ['a','a','b','b','b','a','b','b','b','b','b','a','a']
var = 0
counter = 0
B = []
BB = []
for num, val in enumerate(A):
    if var:
        if var==val:
            count = count + val
        else:
            var = val
            B.append(count)
            count = val
    else:
        var = val
        count = val
    if num == len(A) - 1:
        B.append(count)

var = 0
counter = 0
for num, val in enumerate(AA):
    if var: 
        if var==val:
            count = count + 1
        else:
            BB.append([var, count])
            var = val
            count = 1
    else:
        var = val
        count = 1
    if num == len(AA) - 1:
        BB.append([val, count])

我没有使用字典作为secound,因为如果你每次使用dict保存'a'的值,你将覆盖该值,所以如果你愿意,那么更好的是另一个列表或元组