"""
Demonstration of traversing a Python list from both ends
at the same time in idiomatic Python.
We use the classic "two‑index" technique:
- left starts at index 0
- right starts at index len(lst) - 1
Both move toward the center.
This approach is efficient (O(n)), simple, and widely used in
algorithms such as palindrome checks, partitioning, and pair searching.
"""
# ------------------------------------------------------------
# Function: traverse_from_both_sides
# Purpose: Traverse a list from both ends simultaneously.
# ------------------------------------------------------------
def traverse_from_both_sides(lst):
left = 0
right = len(lst) - 1
# Move inward until the indices cross
while left <= right:
print(f"Left: {lst[left]}, Right: {lst[right]}")
left += 1
right -= 1
# ------------------------------------------------------------
# Main program
# ------------------------------------------------------------
if __name__ == "__main__":
lst = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print("Traversing from both sides:")
traverse_from_both_sides(lst)
"""
run:
Traversing from both sides:
Left: 10, Right: 90
Left: 20, Right: 80
Left: 30, Right: 70
Left: 40, Right: 60
Left: 50, Right: 50
"""