i have a list a = [2,2,1,3,4,1] .
I want to make a new list c with the non-decreasing elements lists of list a.
That means my expected form is -
c = [[2,2],[1,3,4],[1]]
Here is my code:
>>> c = []
>>> for x in a:
... xx = a[0]
... if xx > x:
... b = a[:x]
... c.append(b)
... a = a[x:]
but my output is,

>>> c
[[2], [2]]
How can i fix this?
Iām not an expert, but I think you should use a while loop so you could iterate over the elements in the a list.
Then inside the while loop you include if statement to check if the xth element is higher than the xth+1 element, if so, it would add the previous elements until the xth element excluding the xth+1 element. Then it would start checking the elements again in the same way as before, but starting with the xth+1 element.
Iām not sure if my method works, Iām really interested in what others might say.
1 Like
I found this way 
c = []
previous_element = a[0]
sub_list = [previous_element]
for element in a[1:]:
if previous_element > element:
c.append(sub_list)
sub_list = []
previous_element = element
sub_list.append(previous_element)
c.append(sub_list)
1 Like