Python: Strange sort of list of numbers
Python Programming Puzzles: Exercise-97 with Solution
Write a Python program to find the following strange sort of list of numbers: the first element is the smallest, the second is the largest of the remaining, the third is the smallest of the remaining, the fourth is the smallest of the remaining, etc.
Input: [1, 3, 4, 5, 11] Output: [1, 11, 3, 5, 4] Input: [27, 3, 8, 5, 1, 31] Output: [1, 31, 3, 27, 5, 8] Input: [1, 2, 7, 3, 4, 5, 6] Output: [1, 7, 2, 6, 3, 5, 4]
Pictorial Presentation:

Sample Solution:
Python Code:
#License: https://bit.ly/3oLErEI
def test(nums):
if len(nums) < 2:
return nums
result = []
for i in range(len(nums)//2):
result.append(min(nums))
nums.remove(min(nums))
result.append(max(nums))
nums.remove(max(nums))
if len(nums) > 0:
result.append(nums[0])
if len(result) < 2*len(nums):
result.extend(nums[len(result) // 2 + 1:len(result) // 2 + 1 + len(nums) - len(result)])
return result
nums = [1, 3, 4, 5, 11]
print("Original list of numbers:")
print(nums)
print("Strange sort of list of said numbers:")
print(test(nums))
nums = [27, 3, 8, 5, 1, 31]
print("\nOriginal list of numbers:")
print(nums)
print("Strange sort of list of said numbers:")
print(test(nums))
nums = [1, 2, 7, 3, 4, 5, 6]
print("\nOriginal list of numbers:")
print(nums)
print("Strange sort of list of said numbers:")
print(test(nums))
Sample Output:
Original list of numbers: [1, 3, 4, 5, 11] Strange sort of list of said numbers: [1, 11, 3, 5, 4] Original list of numbers: [27, 3, 8, 5, 1, 31] Strange sort of list of said numbers: [1, 31, 3, 27, 5, 8] Original list of numbers: [1, 2, 7, 3, 4, 5, 6] Strange sort of list of said numbers: [1, 7, 2, 6, 3, 5, 4]
Flowchart:

Python Code Editor :
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Single digits in numbers sorted backwards and converted to English words.
Next: Compute the depth of groups of matched nested parentheses separated by parentheses.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join