gpt4 book ai didi

python - 确定列表中最大值的索引 - 优化

转载 作者:太空宇宙 更新时间:2023-11-04 07:02:37 24 4
gpt4 key购买 nike

我写了几行代码来解决这个问题,但是分析器说,这非常耗时。 (使用 kernprof 逐行分析器)这是代码:

comp = [1, 2, 3] #comp is list with always 3 elements, values 1, 2, 3 are just for illustration
m = max(comp)
max_where = [i for i, j in enumerate(comp) if j == m]
if 0 in max_where:
some action1
if 1 in max_where:
some action2
if 2 in max_where:
some action3

Profiler 说大部分时间都花在了 max_where 计算上。我也尝试过将这个计算拆分成if-tree来避免一些不必要的操作,但结果并不令人满意。

拜托,我做错了吗还是只是python?

最佳答案

如果它总是三个元素,为什么不简单地做:

comp = [1, 2, 3] 
m = max(comp)

if comp[0] == m:
some action
if comp[1] == m:
some action
if comp[2] == m:
some action

关于python - 确定列表中最大值的索引 - 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14645909/

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