簡體   English   中英

計算列表中的連續元素

[英]Count consecutive elements in a list

我正在做一個小程序,計算一個字符出現在列表中的次數,我有一個問題,¿可以通過連續數字來做嗎? 我現在有這個代碼:

def function(list):
    final_list = []
    for element in set(list):
        final_list.append([element, list.count(element)])
    return final_list

對於更簡單的解決方案,您可以使用itertools.groupby

from itertools import groupby
l = [1, 1, 1, 2, 2, 3, 4, 4, 1, 1, 1]

[[k,len(list(v))] for k,v in groupby(l)]
# [[1, 3], [2, 2], [3, 1], [4, 2], [1, 3]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM