Search code examples
pythonsortingselection-sort

selection sort in python


Here's a code for selection sort but it doesn't print the sorted list. How can I show it?

badlist = input("Enter list: ")  
def select(badlist):  
        l = list[:]  
        sorted = []  
        while len(l):  
            lowest == l[0]  
            for x in l:  
                if x < lowest:  
                    lowest = x  
            sorted.append(lowest)  
            l.remove(lowest)  
        return sorted  
select(badlist)  

Solution

  • Use print.

    If you are using Python 2.x print is a keyword:

    result = select(badlist)
    print result
    

    In Python 3.x print is a function and you must use parentheses:

    result = select(badlist)
    print(result)
    

    You also have at least two other errors:

    • Your function parameter is called badlist but you never use it.
    • The == operator is equality comparison. You need = for assignment.

    Also your algorithm will be very slow, requiring O(n2) operations.