[英]Python : How to get the highest key from dictionary and once it found get the key/value?
嘿伙计们,我有一本字典显示:
Shows = {177.17: ['SELECT * FROM `breaking.bad` '], 190.16: ['SELECT * FROM `breaking.bad`'], 81.72: ['SELECT * FROM `mad.men`'], 74.36: ['SELECT * FROM `game.of.thrones`'], 74.37: ['SELECT * FROM `game.of.thrones`']}
在这里,如果出现这些键值,我想匹配一个列表:
list = ['breaking.bad','mad.men','game.of.thrones','the.mandalorian']
目前我想要实现的是,一旦列表值与字典中的列表匹配,我就会得到这些键的最高值及其值。
到目前为止我所做的是:
for key ,value in Shows.items():
for lst in list:
if lst in value and 'breaking.bad' in value and max(key) :
print(lst)
有什么想法可以帮助实现我的目标吗?
不是最有效的方法,但首先遍历“表”,然后获取每个节目的字典并找到最大值
shows = {177.17: ['SELECT * FROM `breaking.bad` '], 190.16: ['SELECT * FROM `breaking.bad`'], 81.72: ['SELECT * FROM `mad.men`'], 74.36: ['SELECT * FROM `game.of.thrones`'], 74.37: ['SELECT * FROM `game.of.thrones`']}
tables = ['breaking.bad','mad.men','game.of.thrones','the.mandalorian']
for table in tables: # don't name variables as list
sub_shows = {key:value for key,value in shows.items() if any(table in v for v in value)}
if sub_shows: # max throws error if list is empty
print(max(sub_shows), table)
190.16 breaking.bad
81.72 mad.men
74.37 game.of.thrones
我质疑只有一个项目的列表的用例,或者为什么你需要在字典中查询 SQL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.