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