के रूप में numpy matrices के साथ दो शब्दकोशों की तुलना करना मैं यह कहना चाहता हूं कि दो पायथन शब्दकोश बराबर हैं (जिसका अर्थ है: चाबियों की समान मात्रा, और कुंजी से मूल्य के प्रत्येक मैपिंग बराबर है; आदेश महत्वपूर्ण नहीं है)। एक आसान तरीका assert A==B
होगा, हालांकि, यह काम नहीं करता है अगर शब्दकोशों के मूल्य numpy arrays
हैं। यदि दो शब्दकोश बराबर हैं तो सामान्य में जांचने के लिए मैं एक फ़ंक्शन कैसे लिख सकता हूं?मूल्यहीन
>>> import numpy as np
>>> A = {1: np.identity(5)}
>>> B = {1: np.identity(5) + np.ones([5,5])}
>>> A == B
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
संपादित मुझे पता है कि numpy मैट्रिक्स .all()
साथ समानता के लिए जाँच की जाएगी हूँ। मैं जो देख रहा हूं वह isinstance(np.ndarray)
की जांच किए बिना, इसके लिए जांच करने का एक सामान्य तरीका है। क्या यह संभव होगा?
NumPy सरणी के बिना संबंधित विषय:
उपयोग कर सकते हैं मुझे लगता है कि आप 'करने के लिए एक [1] सब के सब() == बी [1] सब के सब()' – EdChum