繁体   English   中英

如何在列表中添加整数值

[英]How do I add to the value of integers in a list

我有这个程序,我想将给出的列表作为参数,然后一次将这些数字添加到新列表中。 对于参数中给定的每个重复数字,我希望它向与其重复的索引加+1,其值从0开始。这是我目前拥有的:

def mut_sum(mutind):
    summed_mut=[]
    for i in mutind:
        if i not in summed_mut:
            summed_mut.append(i)
        else:

因此,如果我将参数设为mutind等于[0,0,1,2,2,3,3,3]

经过for循环后,summed_mut应该等于[0,1,2,3]

我希望最终的summed_mut等于[1,0,1,2]

谢谢!

使用itertools.groupby

像这样工作:

from itertools import groupby

mutind = [0,0,1,2,2,3,3,3]
vals = [(x, len(list(y))) for x, y in groupby(mutind)]
# vals now contains the values of the unique items and the count of each items
[x for x, _ in vals]
# [0, 1, 2, 3]
[y - 1 for _, y in vals]
# [1, 0, 1, 2]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM