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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我可以通過知道對(duì)象的值來獲取實(shí)例數(shù)組中對(duì)象的索引嗎?

我可以通過知道對(duì)象的值來獲取實(shí)例數(shù)組中對(duì)象的索引嗎?

Smart貓小萌 2023-08-15 18:44:25
有沒有一種方法可以通過僅知道該對(duì)象的屬性來獲取實(shí)例數(shù)組中實(shí)例的索引?我有這樣的事情:class NodeGene:     def __init__(self):        self.__initBias()     def __initBias(self):        #Creates a random bias and assigns it to self.biasclass ConnectionGene:     #nodeIn and nodeOut are instances of NodeGene     def __init__(self, nodeIn, nodeOut, innovationNumber):        self.nodeIn = nodeIn        self.nodeOut = nodeOut        self.innovationNumber = innovationNumber        self.__initWeight()    def __initWeight(self):        #Creates a random weight and assigns it to self.weightclass Genome:     def __init__(self, connections):        #connections is an array of ConnectionGene instances        self.connections = connections如果我有要查找的實(shí)例的nodeIn 和innovationNumber,如何獲取連接中ConnectionGene 的索引?
查看完整描述

2 回答

?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

假設(shè)conn_list是一個(gè)實(shí)例列表ConnectionGene。然后你有幾個(gè)選擇:


idx = None

for i, c in enumerate(conn_list):

    if c.nodeIn == 0 and c.innovationNumber == 0:

        idx = i

        break

或者


idx_list = [i for i, c in enumerate(conn_list) if c.nodeIn == 0 and c.innovationNumber == 0]

或者


idx = next(i for i, c in enumerate(conn_list) if c.nodeIn == 0 and c.innovationNumber == 0)

如果您要多次執(zhí)行此操作,最好制作一本參考字典并在那里進(jìn)行快速查找:


dct = {(c.nodeIn, c.innovationNumber): i for i, c in enumerate(conn_list)}

...

idx = dct[0, 0]    # very fast


查看完整回答
反對(duì) 回復(fù) 2023-08-15
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

以下是您可以執(zhí)行此操作的一種方法。我不確定您希望在哪里調(diào)用代碼,因此我將在下面將連接稱為“連接”。


indices = [index for index, elem in enumerate(connections) if elem.nodeIn == ___ if elem.innovationNumber == ____]

if indices:

    return indices[0]

return -1

只需填空即可。顯然,您可以更改是要返回第一個(gè)索引還是僅返回所有索引。


如果您想檢查 nodeIn 是否與另一個(gè) NodeGene 是同一對(duì)象實(shí)例,您可以使用is代替==。如果您使用的是==,則可以__eq__在 NodeGene 類上定義該方法。


查看完整回答
反對(duì) 回復(fù) 2023-08-15
  • 2 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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