gpt4 book ai didi

Python 列表 - 搜索值及其位置

转载 作者:行者123 更新时间:2023-11-28 19:04:38 26 4
gpt4 key购买 nike

我正在寻找列表中的最大数字,然后在之前获取元素 1 的位置如果有人知道如何执行此操作,将不胜感激。

my_list = ['room', 10, 'chamber', 23, 'kitchen', 8]

pos = my_list.aMethodToGetTheGreatestValuePosition()

print('The biggest room is ' + my_list[pos-1])

最佳答案

这样做无需多次遍历列表:

my_list = ['room', 10, 'chamber', 23, 'kitchen', 8]

pos = max(enumerate(my_list[1::2]), key=lambda x: x[1])[0]

print('The biggest room is ' + my_list[2*pos])

这使用 enumerate在搜索最大值的同时获取 my_list 的索引。

或者你可以稍微聪明地使用 zip :

print('The biggest room is ' +  max(zip(*[iter(my_list)]*2), key=lambda x: x[1])[0])

它依赖于在 my_list 上使用相同的迭代器将连续的值提供给 zip(从另一个 excellent answer 借来的)。这实际上将您的平面列表变成了元组列表,如果您有该选项,这将是一种更好的存储原始数据的方式:

>>> list(zip(*[iter(my_list)]*2))
[('room', 10), ('chamber', 23), ('kitchen', 8)]

关于Python 列表 - 搜索值及其位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48481022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com