Döndürülen max veya min max kullanarak öğe Endeksi alma()/min() listesinde | Netgez.com
SORU
18 Mart 2010, PERÅžEMBE


Döndürülen max veya min max kullanarak öğe Endeksi alma()/min() listesinde

Minimax algoritması için listeler üzerinde Python max min fonksiyonları kullanıyorum, ve değeri max() min() tarafından döndürülen dizin ihtiyacım var. Diğer bir deyişle, (ilk oyuncunun) ya da (ikinci oyuncu) max min değer yaratacak bilmek istiyorum.

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)

Min veya max değeri, değerinin gerçek dizin dönmek mümkün olmak istiyorum.

CEVAP
6 AĞUSTOS 2012, PAZARTESİ


Yaklaşık daha hızlı itemgetter ile aynı yöntemi kullanarak daha kullanabilirsiniz

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

10* *enumerate kullanımı gerektirmez.

Eğer numpy diziler ile ilgili ise, çok daha hızlı kullanın

index_min=values.argmin()

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • DragsterMC Gaming

    DragsterMC G

    30 HAZİRAN 2013
  • The Computer Chronicles

    The Computer

    7 Kasım 2012