आइए एक सूची पर विचार करें जिसमें विभिन्न लंबाई के कई तार हों। इस लेख में हम देखेंगे कि उन तत्वों को उन समूहों में कैसे जोड़ा जाए जहां प्रत्येक समूह में तार समान लंबाई के हों।
लूप के साथ
हम एक लूप के लिए डिज़ाइन करते हैं जो सूची के प्रत्येक तत्व के माध्यम से पुनरावृति करेगा और इसे केवल उस सूची में हुआ जहां इसकी लंबाई मौजूदा तत्व की लंबाई से मेल खाती है।
उदाहरण
listA = ['Monday','Thursday','Friday','Saturday','Sunday'] # Given list print("Given list : \n",listA) # Categorize by string size len_comp = lambda x, y: len(x) == len(y) res = [] for sub_list in listA: ele = next((i for i in res if len_comp(sub_list, i[0])), []) if ele == []: res.append(ele) ele.append(sub_list) # Result print("The list after creating categories : \n",res)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given list : ['Monday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] The list after creating categories : [['Monday', 'Friday', 'Sunday'], ['Thursday', 'Saturday']]
क्रमबद्ध और समूह के अनुसार
इस दृष्टिकोण में हमने पहले सभी तत्वों को उनकी लंबाई के अनुसार शूट किया और फिर समूह को फ़ंक्शन द्वारा लागू किया जो कि itertools मॉड्यूल का हिस्सा है।
उदाहरण
from itertools import groupby listA = ['Monday','Thursday','Friday','Saturday','Sunday'] # Given list print("Given list : \n",listA) # Categorize by string size get_len = lambda x: len(x) sub_list = sorted(listA, key = get_len) res = [list(ele) for i, ele in groupby(sub_list, get_len)] # Result print("The list after creating categories : \n",res)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given list : ['Monday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] The list after creating categories : [['Monday', 'Friday', 'Sunday'], ['Thursday', 'Saturday']]