[英]Compare a list and a tuple containing numpy arrays
我有一個包含numpy數組的python列表,例如:
a = [Numpy array 1, Numpy array 2, Numpy array 3]
這些Numpy數組都是2D numpy數組。
現在,如果我從列表“ a”中隨機選擇任何兩個Numpy數組並創建一個元組,則說,
b = (Numpy array 1, Numpy array 2)
我如何檢測選擇了哪些陣列即
Numpy array 1, Numpy array 2
而那不是
Numpy array 3
嗎?
讓我回答一下我的問題: 元組“ b”中不存在列表“ a”中的哪個numpy數組?
您可以通過將numpy
數組轉換為列表來實現。 假設這是您的a
和b
:
import random
a = [np.arange(10).reshape(2,5), np.arange(10,20), np.arange(20,30)] # list of numpy arrays
first = random.randint(0,2)
second = first
while second==first:
second = random.randint(0,2)
b = (a[first],a[second])
現在我們想知道哪些元素a
是不是在元組b
。 首先,將b
的numpy數組轉換為list。 然后你就可以用的元素檢查它a
它也將轉換為表:
def arrayinList(arr, listOfArray):
return next((True for elem in listOfArray if np.array_equal(elem, arr)), False)
missing_elem = [elem for elem in a if not arrayinList(elem,b) ]
print(missing_elem)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.