user1589244 - 4 months ago 70
Python Question

# python: order a list of numbers without built-in sort, min, max function

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]`

``````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.

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
``````