আমি অ্যারেটিকে পুনরায় আকার দিয়েছিলাম এবং তারপরে পুনরাবৃত্তি করি। দুর্ভাগ্যক্রমে, আমার উত্তর ধরে নিয়েছে যে আপনার কমপক্ষে তিনটি মাত্রা রয়েছে এবং সাধারণ ম্যাট্রিক্সের জন্য ত্রুটি ঘটবে, আপনাকে 1 & 2 মাত্রিক আকারের অ্যারেগুলির জন্য একটি বিশেষ ধারা যুক্ত করতে হবে। এছাড়াও, এটি ধীর হবে তাই সম্ভবত আরও ভাল সমাধান রয়েছে are
x = np.array(
[
[
[0 , 1, 1, 0],
[0 , 2, 3, 0],
[0 , 4, 5, 0]
],
[
[0 , 6, 7, 0],
[0 , 7, 8, 0],
[0 , 9, 5, 0]
]
])
xx = np.array(
[
[
[0 , 0, 0, 0],
[0 , 2, 3, 0],
[0 , 0, 0, 0]
],
[
[0 , 0, 0, 0],
[0 , 7, 8, 0],
[0 , 0, 0, 0]
]
])
def check_edges(x):
idx = x.shape
chunk = np.prod(idx[:-2])
x = x.reshape((chunk*idx[-2], idx[-1]))
for block in range(chunk):
z = x[block*idx[-2]:(block+1)*idx[-2], :]
if not np.all(z[:, 0] == 0):
return False
if not np.all(z[:, -1] == 0):
return False
if not np.all(z[0, :] == 0):
return False
if not np.all(z[-1, :] == 0):
return False
return True
যা উত্পাদন করবে
>>> False
>>> True
মূলত আমি সমস্ত মাত্রা একে অপরের শীর্ষে স্ট্যাক করে রাখি এবং তারপরে তাদের প্রান্তগুলি পরীক্ষা করতে সেগুলি দেখি।
np.all (x[:, 0] == 0)
যোগফলের চেয়ে নিরাপদ হবে না ? সমস্ত সংখ্যাটি ইতিবাচক হলেই যোগফল পরীক্ষা সঠিক correct