【发布时间】:2012-11-13 22:52:53
【问题描述】:
例如,我们有一个这样的列表:
L = ["item1", "item2", "item3", "item3", "item3", "item1", "item2", "item4", "item4", "item4"]
我想将它们打包成以下形式的元组列表:
[("item1", 1), ("item2", 1), ("item3", 3),... ("item1", 1)]
我已经开发了一个类似的算法,得到:
{item1: 2, item2: 2, ...}
(它会找到所有出现并计算它们,即使它们不是邻居......)
但是,我希望它只将具有相同 和 的那些项目分组为邻居(即一起连续出现),我该如何做到这一点?
并不是我不知道该怎么做,而是我倾向于编写很长的代码,并且在这种情况下我想要一个优雅而简单的解决方案。
【问题讨论】:
-
item1: 1, item2:1, item3:3....item1: 1不会是字典...(它有多个相同的键) -
很抱歉。那是真实的。忽略我写的必须是字典的事实。这不是一个要求。它可以是元组的形式。所以顺序当然很重要。
标签: python list grouping recurring