Вычисление симметричной суммы в Python: методы и примеры

«Симметричная сумма Python» относится к поиску суммы элементов в списке, где элементы по соответствующим индексам на обоих концах списка одинаковы. Вот несколько способов добиться этого в Python:

Метод 1: использование цикла

def symmetrical_sum(lst):
    length = len(lst)
    total_sum = 0
    for i in range(length // 2):
        total_sum += lst[i] + lst[length - i - 1]
    if length % 2 != 0:  # Add the middle element if the list has odd length
        total_sum += lst[length // 2]
    return total_sum

Метод 2: использование понимания списка

def symmetrical_sum(lst):
    length = len(lst)
    return sum(lst[i] + lst[length - i - 1] for i in range(length // 2)) + (lst[length // 2] if length % 2 != 0 else 0)

Метод 3: использование zip() и sum()

def symmetrical_sum(lst):
    length = len(lst)
    return sum(x + y for x, y in zip(lst[:length // 2], lst[:length // 2 - length % 2 - 1:-1])) + (lst[length // 2] if length % 2 != 0 else 0)

Эти методы вычисляют симметричную сумму данного списка путем добавления элементов по соответствующим индексам с обоих концов списка. Первый метод использует цикл для перебора индексов, а второй и третий методы используют понимание списка и функцию zip()для достижения того же результата.