我有一個(gè)項(xiàng)目,您必須在數(shù)組中選擇一個(gè)非零項(xiàng)并獲取其索引。使用這個(gè)索引,你必須在另一個(gè)數(shù)組或列表中找到它對(duì)應(yīng)的值。例如:best_chr = [[1 1 0]] # numpy arrayactivity = [2, 3, 4]代碼如下所示:chosen_act = [activity[item] for item in range(len(best_chr)) if item != 0]print(chosen_act)我打算做的是在[1, 1 對(duì)于上面的示例]index中找到non-zero項(xiàng)目/值。best_chr然后,使用這個(gè)索引,在 中找到它對(duì)應(yīng)的值activity。Expected output:chosen_act = [2, 3]問題是,使用上面的代碼,我收到以下錯(cuò)誤:TypeError: object of type 'numpy.int32' has no len()任何幫助,將不勝感激!謝謝!
1 回答

開心每一天1111
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
你可以只使用zip
:
#?best_chr.flatten?since?it?looks?like?2-d?array [i?for?i,?j?in?zip(activity,?best_chr.flatten())?if?j]
如果您需要使用索引,請(qǐng)使用numpy.flatnonzero
:
[activity[i]?for?i?in?np.flatnonzero(best_chr)]
輸出:
[2,?3]
添加回答
舉報(bào)
0/150
提交
取消