w3resource

Python Data Structures and Algorithms: Sort a list of elements using Selection sort

Python Search and Sorting : Exercise-20 with Solution

Write a Python program to sort a list of elements using Selection sort.
According to Wikipedia "In computer science, selection sort is a sorting algorithm, specifically an in-place comparison sort. It has O(n2) time complexity, making it inefficient on large lists, and generally performs worse than the similar insertion sort".

Sample Solution:

Python Code:

def selection_sort(nums):
    for i, n in enumerate(nums):
        mn = min(range(i,len(nums)), key=nums.__getitem__)
        nums[i], nums[mn] = nums[mn], n
    return nums
user_input = input("Input numbers separated by a comma:\n").strip()
nums = [int(item) for item in user_input.split(',')]
print(selection_sort(nums))

Sample Output:

Input numbers separated by a comma:
 15, 79, 25, 37, 68
[15, 25, 37, 68, 79]

Flowchart:

Flowchart: Python Data Structures and Algorithms: Sort a list of elements using Selection sort

Python Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Python program to sort a list of elements using Radix sort.
Next: Write a Python program to sort a list of elements using Time sort.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Returns the maximum value of a list, after mapping each element to a value using the provided function

Example:

def tips_max(lst, fn):
  return max(map(fn, lst))

print(tips_max([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']))

Output:

8