【问题标题】:Count the elements in list & array in succession连续计算列表和数组中的元素
【发布时间】:2015-12-01 21:00:33
【问题描述】:

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

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]

我想要如下结果:

B = [3,-4,3,2]
BB ={a:2, b:3, a:1, b:5, a:2}

【问题讨论】:

  • 你不是说B = [3,-4,3,-2]吗?

标签: arrays list python-2.7 tuples


【解决方案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])

我不使用字典作为第二个,因为如果您每次都使用字典,您将为 'a' 保存一个值,您将覆盖该值,因此如果您愿意,最好是另一个列表或元组

【讨论】:

    猜你喜欢
    • 2017-12-26
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 2021-10-11
    • 2019-05-05
    相关资源
    最近更新 更多