Python列表的转换
巴扎黑
巴扎黑 2017-04-17 14:25:04
[Python讨论组]

a = [1, 1, 2, 2, 2, 3]
元素已排好序
希望变成:
b = [2, 4, 5]
即按照出现次数累加
怎么写比较简洁高效?

巴扎黑
巴扎黑

全部回复(2)
迷茫
python
import collections counter = collections.Counter([1, 1, 2, 2, 2, 3]) print counter >>> Counter({2: 3, 1: 2, 3: 1})
黄舟
>>> valdict = dict((k, len(list(g))) for k, g in groupby(sorted(a)))
>>>
>>> for key, val in valdict.items(): print key, ":", val
...
1 : 2
2 : 3
3 : 1
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号