首页 > 解决方案 > 如何打印列表中的最大数字,该列表旁边还有其他元素在同一字符串中

问题描述

我正在尝试编写一个包含对象列表的代码,并且在对象旁边还有一个数字。我想打印旁边有最大数字的对象。一个想法是使用 查找字符串中的最后一个值[-1],但是我很快意识到,如果数字超过 1 位,这将不起作用。我也写了这段代码,但是这只是返回列表中的最后一个元素。

list_of_words = ["car 1", "telephone 3", "bottle 10", "laptop 8", "window 12", "headphones 5"]

def autocomplete_freq_words():
    for word in list_of_words:
        return max(list_of_words)

print(autocomplete_freq_words())

基本上,对于 list_of_words,我想打印单词“window”。

标签: python

解决方案


您可以使用rsplit(maxsplit=1)空格分割并从每个列表元素中选择最后一个元素作为比较键。

print(
    max(list_of_words, key=lambda x: int(x.rsplit(maxsplit=1)[-1]))
)

输出:

window 12

推荐阅读