की लंबाई कैसे प्राप्त करें I Python itertools के साथ काम कर रहा हूं और अंतिम तत्व द्वारा जोड़े के समूह को सॉर्ट करने के लिए समूहबी का उपयोग कर रहा हूं। मुझे इसे सॉर्ट करने के लिए मिल गया है और मैं समूहों के माध्यम से बस ठीक कर सकता हूं, लेकिन मैं वास्तव में प्रत्येक समूह की लंबाई प्राप्त करने में सक्षम होना चाहता हूं, बिना किसी काउंटर को बढ़ाने के लिए।पायथन: itertools _grouper
प्रोजेक्ट कुछ डेटा पॉइंट क्लस्टर है। मैं के जोड़े के साथ काम कर रहा हूँ (numpy.array, पूर्णांक) जहां numpy सरणी एक डेटा बिंदु है और पूर्णांक एक क्लस्टर लेबल
यहाँ मेरी प्रासंगिक कोड है:
data = sorted(data, key=lambda (point, cluster):cluster)
for cluster,clusterList in itertools.groupby(data, key=lambda (point, cluster):cluster):
if len(clusterList) < minLen:
अंतिम पंक्ति, 'अगर लेन (क्लस्टरलिस्ट) < मिनीलेन:', मुझे एक त्रुटि मिलती है कि 'itertools._grouper' प्रकार का ऑब्जेक्ट कोई लेन() नहीं है।
मैंने _groupers के लिए उपलब्ध संचालन को देखा है, लेकिन किसी समूह की लंबाई प्रदान करने के लिए ऐसा कुछ भी नहीं मिल रहा है।
बेहतर तरीके हो सकते हैं, लेकिन आप एक सूची में पुनरावर्तनीय रूपांतरित कर सकते हैं और तत्वों की गणना कर सकते हैं ('यदि लेन (सूची (क्लस्टरलिस्ट))
RocketDonkey
धन्यवाद, रॉकेटडॉकी, जो पूरी तरह से काम करता है! – user1466679
कोई समस्या नहीं - नीचे दिए गए उत्तरों एक ही फिक्स का सुझाव देते हैं, ताकि आप इसे 'उत्तर' बनाने के लिए उनमें से एक को स्वीकार कर सकें। सबकुछ के लिए सुभकामनाये! – RocketDonkey