python - 需要帮助在 python 中查找字典对象

标签 python list dictionary max min

我有一个字典对象说:

d = {
    '25478329': ['17647430', '376088951', '32416061', '43096205'],
    '43096205': '17647430',
    '376088951': ['17647430', '25478329', '32416061'],
    '32416061': ['17647430', '25478329']
}

我需要帮助查找具有最大数据量的 key 。 这里的数据是指列表中的字符串值。

最佳答案

你的问题可能更清楚,但如果你想要的是我在评论中建议的,那么这会起作用:

def keyfunc(item):
    key, value = item
    if isinstance(key, str):
        return 1
    else:
        return len(key)

max(d.items(), key=keyfunc)[0]

在这里,我们定义了一个键函数,它采用 dict.items() 返回的键/值二元组。 ,并且:

  • 如果值为字符串,则返回 1。
  • 否则,返回字符串列表的长度。

然后将该关键函数与内置 max() 一起使用函数返回字符串数量最多的项目,最后我们使用 [0] 从该项目中获取 key 。

关于python - 需要帮助在 python 中查找字典对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23942081/

相关文章:

python - 如何最有效地将连续的帧流发送到服务器

list - Haskell 通过匹配值重新排序列表

arrays - 如何在单个表达式中追加到新初始化的 Array()?

Python - 遍历 dict。在字典中搜索元素

python - 从 <a> BeautifulSoup 中提取 href

python - 使用 Twisted 的守护进程 python 项目

python - 使用 Django-Haystack 和 ElasticSearch 捕获 ConnectionError

python - 使用多处理从不同进程附加到同一个列表

python - 如何在元组中单独添加元素?

python - 将集合转换为卡住集作为字典的值