python - 在计算运行中出现的次数时创建不重复的新列表
问题描述
我有列表(在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']
解决方案
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']
>>>
推荐阅读
- c# - 在 mscorlib.dll 中使用 HTML Agility Pack: system.net.http.httprequestexception' 时出现此错误
- testing - 使用 Travis CI 进行 Flutter 集成测试
- django - 优雅的方式来翻译自定义错误消息 django rest 框架
- javascript - 使用 JavaScript 插入字体真棒图标
- python - 重新采样时间序列数据
- asp.net - ASP.NET Core ModelBindingContext 仅使用 1 个值提供程序(忽略 RouteDataValueProvider)
- android - MotionLayout - OnSwipe 不适用于 ViewPager2/RecyclerView
- c# - 隐藏当月没有日期的行(自定义日历标签助手)
- python - 弹出的值如何处理?
- r - R 文档:@family 标签不起作用