Finding Maximum Values Through Custom Sorting Logic in Python

Data Initialization

# Generate a list of 5 random integers between 1 and 100
import random
data_list = [random.randint(1, 100) for _ in range(5)]

Step-by-Step Derivation

# Assume first element is maximum
for i in range(1, len(data_list)):
    if data_list[0] < data_list[i]:
        data_list[0], data_list[i] = data_list[i], data_list[0]
print(data_list)
# [87, 9, 13, 5, 39]

# Assume second element is maximum among remaining
for i in range(2, len(data_list)):
    if data_list[1] < data_list[i]:
        data_list[1], data_list[i] = data_list[i], data_list[1]
print(data_list)
# [87, 39, 9, 5, 13]

# Assume third element is maximum among remaining
for i in range(3, len(data_list)):
    if data_list[2] < data_list[i]:
        data_list[2], data_list[i] = data_list[i], data_list[2]
print(data_list)
# [87, 39, 13, 5, 9]

Final Implementation

# Selection sort approach for descending order
for outer in range(len(data_list) - 1):
    for inner in range(outer + 1, len(data_list)):
        if data_list[outer] < data_list[inner]:
            data_list[outer], data_list[inner] = data_list[inner], data_list[outer]
print(data_list)

Explanation:

  • outer indices: [0, 1, 2, 3]
  • inner indices: [[1, 2, 3, 4], [2, 3, 4], [3, 4], [4]]
  • Select Element: Sequentially select elements at positions 1, 2, 3, 4
  • Compare: Compare selected element with subesquent elements
  • Find Larger: If a larger value exists later in the list
  • Swap: Exchange positions to maintain largest value at current position

This iterative process achieves descending order sorting through seelction-based logic.

Practical Example

# Order dataset
order_collection = [
    {"id": 1001, "quantity": 1},
    {"id": 1002, "quantity": 3},
    {"id": 1004, "quantity": 2},
    {"id": 1003, "quantity": 7},
]

Sort orders by quantity in descending order (largest to smallest) within the original list:

for position in range(len(order_collection) - 1):
    for compare in range(position + 1, len(order_collection)):
        if order_collection[position]["quantity"] < order_collection[compare]["quantity"]:
            order_collection[position], order_collection[compare] = order_collection[compare], order_collection[position]
print(order_collection)
"""
Result:
[
 {'id': 1003, 'quantity': 7},
 {'id': 1002, 'quantity': 3},
 {'id': 1004, 'quantity': 2},
 {'id': 1001, 'quantity': 1}
]
"""

Tags: python sorting-algorithms custom-sorting data-structures list-manipulation

Posted on Wed, 17 Jun 2026 17:25:20 +0000 by Kestrad