python - 如何找到字典项目中元素最多的列表?

标签 python

说我有

function(Dict[str, List[str]] -> List[str]

我如何返回一个列表,其中包含 Dict 中的 str 以及列表中的大多数元素?

function({'a':['1','2'], 'b':['1'], 'c':['1', '2']})

['a', 'c']

即使不止一个 str 拥有列表中最多的元素,就像上面的例子一样,该函数应该仍然能够返回 str。非常感谢您!

最佳答案

首先获取最大长度,然后遍历元素以过滤具有最大长度的元素:

def get_max(d):
    max_len = max(map(len,d.values()))
    return [k for k,v in d.items() if len(v)==max_len]

get_max({'a':['1','2'], 'b':['1'], 'c':['1', '2']})
# ['a', 'c']

关于python - 如何找到字典项目中元素最多的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70180981/

相关文章:

Python Redis 队列 (rq) - 如何避免为每个作业预加载 ML 模型?

python - 如何在django中启用基本访问认证

python - 在 Tensorflow TPU 上乘以大量矩阵和向量

python - Django 未处理的异常

python - 您可以将列表成员的实例放入正则表达式中以在 python 中进行匹配吗?

python - 为什么我会收到此 DCPError?

python - 如何从 PyQt4 中的 ComboBox 获取输入

python - 如何防止包含 py2exe 的 Python 程序启动多个 session ?

Python - 创建层次结构文件(在表示为表的树中查找从根到叶的路径)

python - mousepress事件的问题