首页 > 解决方案 > 在计算运行中出现的次数时创建不重复的新列表

问题描述

我有列表(在python中),其中包含重复然后出现其他数字然后再次返回的数字,如下所示:

[1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 3, 3, 3, 1]

我想将其转换为一个新列表,以避免数字重复,如下所示:

['1*9', '2*2', '1*2', '3*3', '1*1'] 

标签: python

解决方案


from itertools import groupby

numbers = [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 3, 3, 3, 1]

print([f"{key}*{len(list(group))}" for key, group in groupby(numbers)])

输出:

['1*9', '2*2', '1*2', '3*3', '1*1']
>>> 

推荐阅读