簡體   English   中英

比較列表和包含numpy數組的元組

[英]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數組轉換為列表來實現。 假設這是您的ab

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.

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