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

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

使用列表中的max()/ min()獲取返回的max或min項(xiàng)的索引

使用列表中的max()/ min()獲取返回的max或min項(xiàng)的索引

暮色呼如 2019-08-09 15:38:59
使用列表中的max()/ min()獲取返回的max或min項(xiàng)的索引我在列表中使用Python max和min函數(shù)來實(shí)現(xiàn)minimax算法,我需要max()或者返回的值的索引min()。換句話說,我需要知道哪個移動產(chǎn)生了最大值(在第一個玩家的回合)或最小值(第二個玩家)值。for i in range(9):     newBoard = currentBoard.newBoardWithMove([i / 3, i % 3], player)     if newBoard:         temp = minMax(newBoard, depth + 1, not isMinLevel)           values.append(temp)if isMinLevel:     return min(values)else:     return max(values)我需要能夠返回最小值或最大值的實(shí)際索引,而不僅僅是值。
查看完整描述

3 回答

?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個贊

if isMinLevel:
    return values.index(min(values))其他:
    return values.index(max(values))


查看完整回答
反對 回復(fù) 2019-08-09
?
蠱毒傳說

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個贊

假設(shè)您有一個列表values = [3,6,1,5],并且需要最小元素的索引,即index_min = 2在這種情況下。

避免itemgetter()在其他答案中提出的解決方案,而是使用

index_min = min(xrange(len(values)), key=values.__getitem__)

因?yàn)樗恍枰膊恍枰?code>import operator使用enumerate,并且它總是比使用的解決方案更快(下面的基準(zhǔn))itemgetter()。

如果您正在處理numpy數(shù)組或者可以numpy作為依賴項(xiàng),請考慮使用

import numpy as np
index_min = np.argmin(values)

這將比第一個解決方案更快,即使您將其應(yīng)用于純Python列表,如果:

  • 它大于幾個元素(我機(jī)器上大約2 ** 4個元素)

  • 你可以負(fù)擔(dān)從純列表到numpy數(shù)組的內(nèi)存復(fù)制

正如這個基準(zhǔn)指出: 

我已經(jīng)在我的機(jī)器上使用python 2.7運(yùn)行基準(zhǔn)測試,用于上面的兩個解決方案(藍(lán)色:純python,第一個解決方案)(紅色,numpy解決方案)和基于itemgetter()(黑色,參考解決方案)的標(biāo)準(zhǔn)解決方案。與python 3.5相同的基準(zhǔn)測試表明,這些方法與上面提到的python 2.7案例完全相同


查看完整回答
反對 回復(fù) 2019-08-09
?
開滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個贊

如果枚舉列表中的項(xiàng)目,則可以同時找到最小/最大索引和值,但對列表的原始值執(zhí)行最小值/最大值。像這樣:


import operator

min_index, min_value = min(enumerate(values), key=operator.itemgetter(1))

max_index, max_value = max(enumerate(values), key=operator.itemgetter(1))

這樣,列表只會在min(或max)中遍歷一次。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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