पर पुनरावृत्त करने का पाइथोनिक तरीका मेरे पास पाइथन में एक 3 डी सरणी है और मुझे सरणी में सभी क्यूब्स पर फिर से चलने की आवश्यकता है। ,3 डी सरणी
array[(x + 0, y + 0, z + 0)]
array[(x + 1, y + 0, z + 0)]
array[(x + 0, y + 1, z + 0)]
array[(x + 1, y + 1, z + 0)]
array[(x + 0, y + 0, z + 1)]
array[(x + 1, y + 0, z + 1)]
array[(x + 0, y + 1, z + 1)]
array[(x + 1, y + 1, z + 1)]
सरणी एक Numpy सरणी है कि हालांकि वास्तव में आवश्यक नहीं है: यह, के लिए सरणी के आयाम में सभी (x,y,z)
मैं घन का उपयोग करने की जरूरत है। मुझे numpy.fromfile()
का उपयोग करके एक-लाइनर के साथ डेटा को पढ़ने में बहुत आसान लगा।
क्या इनमें से अधिक से अधिक पुन: प्रयास करने के लिए कोई और पाइथोनिक तरीका है? यह बस पाइथन वाक्यविन्यास का उपयोग कर सी की तरह दिखता है।
for x in range(x_dimension):
for y in range(y_dimension):
for z in range(z_dimension):
work_with_cube(array[(x + 0, y + 0, z + 0)],
array[(x + 1, y + 0, z + 0)],
array[(x + 0, y + 1, z + 0)],
array[(x + 1, y + 1, z + 0)],
array[(x + 0, y + 0, z + 1)],
array[(x + 1, y + 0, z + 1)],
array[(x + 0, y + 1, z + 1)],
array[(x + 1, y + 1, z + 1)])
इस http द्वारा उत्तर दिया जाएगा
map(xrange, ...)
पास करना : //stackoverflow.com/questions/1280667/in-python-is-there-an-easier-way-to-write-6-nested-for-loops? – tom10यह सीमा होगी (...- 1), यहां ... – EOL
असल में, हाँ @ tom10, यह –