If I have a list that varies in length each time and I want to sort it from lowest to highest, how would I do that?
If I have: [-5, -23, 5, 0, 23, -6, 23, 67]
I want: [-23, -6, -5, 0, 5, 23, 23, 67]
I start with this:
data_list = [-5, -23, 5, 0, 23, -6, 23, 67] new_list = [] minimum = data_list[0] # arbitrary number in list for x in data_list: if x < minimum: minimum = value new_list.append(i)
BUT this only goes through once and I get:
new_list = [-23]
This is where I get stuck.
How do I keep looping through until the len(new_list) = len(data_list)
(i.e. all the numbers are in the new list) with everything sorted without using the built in max, min, sort functions? I’m not sure if it’s necessary to create a new list either.
Advertisement
Answer
I guess you are trying to do something like this:
data_list = [-5, -23, 5, 0, 23, -6, 23, 67] new_list = [] while data_list: minimum = data_list[0] # arbitrary number in list for x in data_list: if x < minimum: minimum = x new_list.append(minimum) data_list.remove(minimum) print (new_list)
#Added parenthesis