第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何找到列表中所有最大值的位置?

如何找到列表中所有最大值的位置?

慕村225694 2019-10-25 15:25:19
我有一個清單:a = [32, 37, 28, 30, 37, 25, 27, 24, 35, 55, 23, 31, 55, 21, 40, 18, 50,             35, 41, 49, 37, 19, 40, 41, 31]最大元素為55(位置9和12上的兩個元素)我需要找到最大值位于哪個位置。請幫忙。
查看完整描述

3 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗 獲得超6個贊

>>> m = max(a)

>>> [i for i, j in enumerate(a) if j == m]

[9, 12]


查看完整回答
反對 回復(fù) 2019-10-25
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗 獲得超7個贊

所選答案(以及大多數(shù)其他答案)需要至少兩次通過列表。

這是一站式解決方案,對于較長的列表而言可能是更好的選擇。


編輯:解決@John Machin指出的兩個缺陷。對于(2),我嘗試根據(jù)每種條件發(fā)生的估計概率和前輩的推論來優(yōu)化測試。找出合適的初始化值max_val并max_indices在所有可能的情況下都可行,這有點棘手,特別是如果max恰好是列表中的第一個值-但我相信現(xiàn)在可以了。


def maxelements(seq):

    ''' Return list of position(s) of largest element '''

    max_indices = []

    if seq:

        max_val = seq[0]

        for i,val in ((i,val) for i,val in enumerate(seq) if val >= max_val):

            if val == max_val:

                max_indices.append(i)

            else:

                max_val = val

                max_indices = [i]


    return max_indices


查看完整回答
反對 回復(fù) 2019-10-25
  • 3 回答
  • 0 關(guān)注
  • 1896 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號