如何显示分数最高的“姓名”和“分数”?

问题描述 投票:0回答:2

这里我的问题是我有一个元组列表,我需要找出谁得分最高,以及相应的玩家姓名。

示例输入:

l=[
  ('ram'  ,16),
  ('sara' ,13),
  ('akhil',24),
  ('vinay',24)
]

示例输出:

akhil 24

说明:

首先,我根据元组列表中的第二个元素对数据进行排序。 在所有玩家中“akhil”和“vinay”得分相同,因此两者之间 人们玩家“akhil”首先按照字典或词典顺序开始,所以我打印了“akhil”。

谢谢。

python list sorting tuples lexicographic
2个回答
0
投票

试试这个。

from collections import OrderedDict
l=[('ram',16),('sara',13),('akhil',24),('vinay',24)]
a = {}
for i in l:
    a[i[0]]=i[1]
a = OrderedDict(sorted(a.items(), key=lambda t: t[0]))
print max(a.iterkeys(), key=lambda k: a[k]),a[max(a.iterkeys(), key=lambda k: a[k])]

0
投票

l=[('ram',16),('萨拉',13),('akhil',24),('vinay',24)]

l1=[]

l.sort(key=lambda x:x[1])

打印(l)

对于范围内的 i (1,len(l)):

if(l[i-1][1]==l[i][1]):
    l1.append(l[i][0])
    l1.append(l[i-1][0])
    z=l[i-1][1]

l1.sort()

打印(l1[0],z)

© www.soinside.com 2019 - 2024. All rights reserved.