जब किसी लिस्ट में मौजूद सन्निकट स्ट्रिंग तत्वों को समूहित करना हो, तो एक मेथड परिभाषित की जाती है जो 'groupby' और 'yield' का उपयोग करती है।
उदाहरण
नीचे इसका प्रदर्शन है
from itertools import groupby
def string_check(elem):
return isinstance(elem, str)
def group_string(my_list):
for key, grp in groupby(my_list, key=string_check):
if key:
yield list(grp)
else:
yield from grp
my_list = [52, 11, 'py', 'th', 'on', 11, 52, 'i', 's', 18, 'f', 'un', 99]
print("The list is :")
print(my_list)
my_result = [*group_string(my_list)]
print("The result is:")
print(my_result)
आउटपुट
The list is : [52, 11, 'py', 'th', 'on', 11, 52, 'i', 's', 18, 'f', 'un', 99] The result is: [52, 11, ['py', 'th', 'on'], 11, 52, ['i', 's'], 18, ['f', 'un'], 99]
व्याख्या
'string_check' नामक एक मेथड परिभाषित की जाती है जो पैरामीटर के रूप में एक लिस्ट लेती है और जांचती है कि यह किसी विशेष इंस्टेंस प्रकार से संबंधित है या नहीं।
'group_string' नामक एक और मेथड परिभाषित की जाती है जो पैरामीटर के रूप में एक लिस्ट लेती है और 'groupby' मेथड का उपयोग करके आउटपुट वापस करने के लिए yield का उपयोग करती है।
मेथड के बाहर, एक लिस्ट परिभाषित की जाती है और कंसोल पर प्रदर्शित की जाती है।
'group_string' को कॉल किया जाता है और परिणाम एक वेरिएबल में असाइन किया जाता है।
यह आउटपुट के रूप में कंसोल पर प्रदर्शित होता है।