簡體   English   中英

您如何找到字典中哪個鍵的值列表最長?

[英]How do you find which key in a dictionary has the longest list of values?

我試圖找出字典中哪個鍵具有最長的值列表。 我上的是一門非常簡單的計算機科學課,所以我不能使用lambda和其他復雜術語。 我想知道是否有使用循環,if語句和len的方法?

另外,如何顯示具有最長值列表的鍵的值?

一個簡單的解決方案可以像這樣:

max_len = 0
max_key = ""
for key in d:
    cur_len = len(d[key])
    if cur_len>max_len:
        max_key = key
        max_len = cur_len
print max_key
x={'a':[9,8],'b':[1,2,3],'c':'1,2,3,4'}
print [k for k in x.keys() if x[k]==max(x.values(),key=len)]

你可以試試看

import itertools

preds = {'lion': ['gazelle', 'zebra', 'antelope'], 'eagle': ['sparrow', 'mouse'], 'crocodile': ['gazelle', 'antelope', 'buffalo', 'zebra']}

byprey = sorted([(len(v), k) for k, v in preds.iteritems()], reverse=True)

num, predator = byprey[0]
print predator

對於python 3,您只需iteritems更改為items例如

byprey = sorted([(len(v), k) for k, v in preds.items()], reverse=True)

打印是一種功能

print (predator)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM