私のリストが表示されます:
['river: 0.3']
['spread: 0.04']
['idaho: 0.5']
最初にそれらをマージしてから、値の降順でランク付けして、標準出力として配置します。最後に文を印刷します。たとえば、最高値は0.711で、次のように印刷されます。
"the largest value is idaho"
これが私の試みですが、ランク付けしたいときに失敗しました:
u = ['river: 0.3']
v = ['spread: 0.04']
s = ['idaho: 0.5']
mergelist = u + v + s
ranklist = sorted(mergelist, key=lambda x: x[1], reverse=True)
for i in ranklist:
print(' '.join(list(map(str, i))))
print("the largest value is" + ' ' + ranklist[0])
必要な標準出力は次のとおりです。
idaho 0.5
river 0.3
spread 0.04
the largest value is idaho
これは1つのアプローチです
u = ['river: 0.3']
v = ['spread: 0.04']
s = ['idaho: 0.5']
mergelist = u + v + s
import operator
d = {}
for i in mergelist:
val = i.split(":")
d[val[0].strip()] = float(val[1].strip())
print("the largest value is {}".format(max(d.items(), key=operator.itemgetter(1))[0]))
出力:
the largest value is Idaho
:
コメントで要求されたように
for k, v in sorted(d.items(), key=lambda x: x[1], reverse=True):
print(k, v)
出力:
idaho 0.5
river 0.3
spread 0.04
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加