I'm learning basic algorithms and implementing them in Python. Critiques needed/welcome.
import pudb; pu.db
import random
def selection_sort(list_):
"""Implement selection_sort algorithm: iterate L to R in list, grab value
if greatest and inserting into correct pos. After each loop, decrement
length of iterated list by 1"""
val_list, greatest = list(range(len(list_))), 0
for num in range(len(list_)):
greatest = val_list[-1]
for val in val_list:
if list_[greatest] < list_[val]:
greatest = val
if list_[greatest] > list_[val_list[-1]]:
list_.insert(val, list_.pop(greatest))
val_list.remove(val)
return list_
if __name__ == '__main__':
unsorted = list(range(9))
random.shuffle(unsorted)
assert selection_sort(unsorted) == list(range(9))