में लैम्ब्डा का उपयोग करके मैं सूची में कुछ क्रमबद्ध करने के लिए लैम्ब्डा डू का उपयोग करने की कोशिश कर रहा हूं। मैं जो करना चाहता था वह एक इंटिटल अधिग्रहण से अपने मैनहट्टन दूरी के आधार पर समन्वय को क्रमबद्ध करता है। मुझे पता है कि मेरे पास सिंटैक्स का अधिकांश हिस्सा है लेकिन ऐसा लगता है कि मुझे कुछ छोटा याद आ रहा है, धन्यवाद!पायथन
while (len(queue) > 0):
queue.sort(queue, lambda x: util.manhattanDistance(curr,x))
एक साइड नोट के रूप में, पायथन में नियंत्रण विवरणों को (और नहीं होना चाहिए) कोष्ठक की आवश्यकता नहीं है: 'जबकि लेन (कतार)> 0: '। लेकिन, चूंकि 0 झूठा है और कोई अन्य पूर्णांक नहीं है, यह 'लेन (कतार) के समान है: '। और, चूंकि एक खाली अनुक्रम झूठा है और कोई अन्य अनुक्रम नहीं है, यह 'कतार के दौरान' जैसा है। और इस तरह आपको इसे लिखना चाहिए-यह अधिक मूर्खतापूर्ण, पढ़ने में आसान, छोटा, और संभवतः और भी अधिक कुशल है। – abarnert
एक और समस्या मैंने अभी देखी है: आप 'queue.sort' के पहले तर्क के रूप में 'कतार' को पार कर रहे हैं। जो भी प्रकार 'कतार' है, यह सही नहीं है। (ओह, और एक चर 'कतार' को कॉल न करें; यह मानक लाइब्रेरी मॉड्यूल का नाम है।) – abarnert
इसके अलावा: 'sort' ऑब्जेक्ट की लंबाई को बदलने वाला नहीं है, इसलिए यह हमेशा लूप के लिए जा रहा है, पहले से क्रमबद्ध सूची को फिर से क्रमबद्ध करना। – abarnert