直接選択法によるソート

直接選択法によるソート。
N番目〜末尾のリストに対して最小値を先頭に持っていくことを繰り返す。
最小値を求める関数search_min()を定義して使いたかったので
メインの関数、direct_sort()が逆に汚くなった。

#! usr/bin/env python
# -*- coding: utf-8 -*-

#direct_sort.py
"""最小値を求める関数"""
def search_min(x):
    #リストAの最小要素を返す
    #A = [80,50,56,30,51,70] 
    #x=[] #任意の配列
    min = x[0] #initialize
    for an in x:
        if min > an:
            min = an
    #print "min = ",min
    return min

def direct_sort(x):
    i=0
    for an in x:
        xdash = x[i:] # N番目〜末尾までのリスト
        min_num = xdash.index(search_min(xdash)) + i #xdashリストの中での最小値
        this_num = x.index(an) #今の要素の番号
        x[this_num],x[min_num]=x[min_num],x[this_num] 
        i+=1
    return x
#A=[80,50,56,30,51,70] #sample number list
numbers = raw_input("input the number list divided with comma :  ")
A=numbers.split(",")
k = 0
for a in A:
    A[k] = float(a)
    k += 1
print "direct sort =  ", direct_sort(A)