簡體   English   中英

查找二維數組中一組元素的所有行索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM