【发布时间】:2021-12-10 14:45:45
【问题描述】:
我必须做一个练习,要求我做一个函数来查找列表中连续值的频率并返回一个元组列表,我必须在其中显示重复的次数。
输入:
[1, 1, 1, 3, 5, 1, 1, 3, 3]
输出:
[(1,3) , (3,1) , (5,1) , (1,2) , (3,2)]
代码:
def empaquetar(l):
lista = []
for i in range(len(l)-1):
cont = 0
j = i + 1
while l[i] == l[j] and j<len(l)-1:
cont += 1
i += 1
j += 1
if cont > 0:
lista.append((l[i], cont + 1))
else:
lista.append((l[i],1))
return lista
好吧,我写的内容并没有完全返回我想要的内容,我找不到解决方案,但我搜索了很多,例如来自集合的工具 Counter 或类似的东西。我需要帮助,有什么建议吗?
【问题讨论】:
标签: python list algorithm tuples