【发布时间】:2017-09-17 13:32:33
【问题描述】:
我的函数需要在字典中找到速度最快的字符。字符名称是键,值是统计元组。速度是值元组的索引6。如何将之前的最高速度与当前值进行比较以查看是否更高?一旦我获得了速度,如何获取该字符的类型(值元组中的索引 1 和 2)并将它们作为列表返回?
示例数据:
d={'spongebob':(1,'sponge','aquatic',4,5,6,70,6), 'patrick':(1,'star','fish',4,5,6,100,1)}
Patrick 的速度最高(100),他的类型是star 和fish。应该返回 [star,fish]
这是我当前的代码,因为我不知道如何比较以前的代码和当前代码,所以它不起作用:
def fastest_type(db):
l=[]
previous=0
new=0
make_list=[[k,v] for k,v in db.items()]
for key,value in db.items():
speed=value[6]
return l_types.sort()
【问题讨论】:
-
您在循环中将之前的值与 value[6] 进行比较。如果它小于 value[6],则将其设置为 value[6] 并将 value 保存在 new 中。然后在循环之后返回 new[1:3]。
标签: python python-3.x dictionary for-loop iteration