已关闭,此问题需要details or clarity,目前不接受回答。
**想要改进此问题吗?**通过editing this post添加详细信息并澄清问题。
上个月关门了。
Improve this question
我正在尝试使用Python制作一个像素颜色表。这个表有超过10,000个值,我想快速渲染图像(通常需要大约4秒渲染)。无论如何,我想处理列表中的重复项以快速加载帧,这里有一个例子:(255,255,255),(255,255,255),(255,255,255)
将变为(255,255,255),2
我试过自己写代码,但它真的坏了。我已经使用python很长一段时间了,我仍然没有得到任何地方让这个脚本工作。
提前感谢!
2条答案
按热度按时间dly7yett1#
根据元素是否排序,您有两个选项。
请注意,对输入进行排序并使用第一种方法可能会产生更多开销。
oxcyiej72#
您也可以使用Counter函数来实现所需的结果。下面是一个如何使用它来压缩像素颜色列表的示例:
这段代码利用collections模块中的Counter类来高效地统计像素颜色的出现次数,然后使用列表解析直接创建压缩列表。
使用Itertools.groupby
它有效地将连续的相同元素分组。
最佳方法...
如果可读性和简单性是你主要关心的问题,Counter通常是一个更直接的选择。
如果您更喜欢功能性和内存效率更高的方法,itertools.groupby可能更合适。*