有没有办法看到字典中有多少项在Python中共享相同的值?
假设我有一个字典,如:
{"a": 600, "b": 75, "c": 75, "d": 90}
Run Code Online (Sandbox Code Playgroud)
我想得到一个结果字典,如:
{600: 1, 75: 2, 90: 1}
Run Code Online (Sandbox Code Playgroud)
我的第一个天真的尝试是只使用嵌套for循环,然后对于每个值,我将再次迭代字典.有一个更好的方法吗?
你可以使用itertools.groupby.
import itertools
x = {"a": 600, "b": 75, "c": 75, "d": 90}
[(k, len(list(v))) for k, v in itertools.groupby(sorted(x.values()))]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7642 次 |
| 最近记录: |