[英]Find all the row indices of a set of elements in a 2D Array
我有一個特定的數字列表(item_list),為此我需要在2D數組(C)內關聯的所有行索引。 請在下面找到代碼:
# Sample code
item_list = [1, 2, 3]
C= [[0 for x in range(5)] for x in range(5)]
C[0][:]=[1,5,3,25,30]
C[1][:]=[7,9,15,2,45]
C[2][:]=[2,9,15,78,98]
C[3][:]=[3,90,15,1,98]
C[4][:]=[12,19,25,3,8]
rind=[]
for item in item_list:
v=[i for i in range(len(C)) for j in range (len(C[i])) if C[i][j]==item ]
r_ind.append(v)
我的2D數組大小約為7M * 4,有人可以幫助我更快地做到這一點嗎?
對於初學者:
rind = [[i for i in range(len(C)) if item in C[i]]
for item in item_list]
這里關鍵的變化是使用in
這應該是比你手動檢查速度更快。
這也意味着,如果一個數字多次出現在輸入的子列表中,那么您將不會在輸出的子列表中多次獲得相同的i
,我認為這是您真正想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.