【发布时间】:2016-10-25 16:10:39
【问题描述】:
假设您有一个 float 值列表,如下所示:
l=[0.1,0.3,0.2]
还有这样的列表字典:
d1={0:[0.1,0.1,0.1,0.2], 1:[0.1,0.3,0.2], 2:[0.3,0.2,0.1]}
计算l 中每个值出现在d1 子列表中的次数的Pythonic 方法是什么?
预期的结果将是这样的列表字典:
d2={0.1:[3,1,1], 0.2:[1,1,1], 0.3:[0,1,1]}
其中键是l 中的值,子列表包含每个值的出现次数。
这可以使用Counter 完成吗?子列表中值的顺序并不重要。
注意:这个问题is not the same as this other,其中涉及字典列表。
【问题讨论】:
-
这个问题是关于列表字典的。
-
考虑到字典是没有排序的,不能指望每一个被排序的项目的计数。
-
当您尝试使用计数器执行此操作时发生了什么?您在哪里尝试使用另一种技术?
-
@MosesKoledoye: 是的,但是我们可以对
d1的键进行排序,所以我们可以使用一个合理的规范顺序。
标签: python list dictionary counter