कल्पना कीजिए कि संख्याओं से बनी एक सूची है जैसे

a = [1, 2, 3, 4, 10, 11, 12, 44, 45, 46, 47]

मैं इस सूची को इसके तत्वों के अंतर से विभाजित करना चाहता हूं जैसे;

b = [1, 2, 3, 4] 
c = [10, 11, 12]
d = [44, 45, 46, 47]
-1
LJH 22 नवम्बर 2021, 18:06
2
बंटवारा मानदंड क्या है?
 – 
Askold Ilvento
22 नवम्बर 2021, 18:10

1 उत्तर

सबसे बढ़िया उत्तर

यहाँ एक for लूप का उपयोग करके एक सरल तरीका दिया गया है। यहां की गई धारणा यह है कि मूल सूची को क्रमबद्ध किया गया है और हम अंतर के आधार पर समूह बना रहे हैं <= 1.

>>> a = [1, 2, 3, 4, 10, 11, 12, 44, 45, 46, 47]
>>> groups = [[a[0]]]
>>> for i in a[1:]:
...     if i - groups[-1][-1] > 1:
...         groups.append([i])
...     else:
...         groups[-1].append(i)
...
>>> groups
[[1, 2, 3, 4], [10, 11, 12], [44, 45, 46, 47]]
0
Samwise 22 नवम्बर 2021, 18:10