给定一个词典items
列表,我想识别具有最多键数的词典。更准确地说:我希望在列表中使用index()
(或其他合适的方法),以便随后可以访问其某些键的值。
要获得最大数量的键(其中将有多个键)的项目的大小,我这样做:
max([len(item.keys()) for item in items])
如何修改此项(使用index()
或其他)来识别该项目? 这个最大尺寸的任何就足够了)。每个字典都有一个键name
,它在列表中始终是唯一的。
答案 0 :(得分:4)
您正在寻找argmax。在python中,可以使用max
+ enumerate
完成。
i, d = max(enumerate(items), key=lambda x: len(x[1]))
其中d
是密钥数最多的dict
,i
是其索引。
答案 1 :(得分:1)
假设您实际上并不需要最大字典的索引,而只需要字典本身:
largest_dictionary = max(items, key=len)
其中items
是您list
的{{1}}。