Теория:
Одной из распространённых задач по обработке списков с числовыми элементами является задача о подсчёте суммы элементов.
План решения задачи будет таким: перебираем в цикле for все элементы списка и суммируем их. Причём суммировать можно не только числа, но и строки, — такая операция называется конкатенацией.

Рис. \(1\). Пример \(5\)
Обрати внимание!
• Списки можно складывать. Для получения списка \(a\) мы сложили списки \(a1\) и \(a2\).
• Сложив строковые элементы, получаем строку, но и суммировать надо со строкой, поэтому \(s1=’’\).
• Если бы условием было выбрать только числа, можно было бы написать так:
if type (\(a[i]\)) \(= =\) int or type (\(a[i]\)) \(= =\) float:
int — целые, float — вещественные.
• Сложив строковые элементы, получаем строку, но и суммировать надо со строкой, поэтому \(s1=’’\).
• Если бы условием было выбрать только числа, можно было бы написать так:
if type (\(a[i]\)) \(= =\) int or type (\(a[i]\)) \(= =\) float:
int — целые, float — вещественные.
С помощью условия можно отобрать из списка нужные элементы, также для выбора элементов можно сделать срез списка.
Срезом, или слайсингом, называют выборку элементов из последовательности с индексами начиная со start до stop (не включая), с шагом step.

Рис. \(2\). Пример \(6\)
Обрати внимание!
• При сложении списков важен порядок, в котором списки складываются, — это изменяет индексы элементов.
• Если нет аргумента start, то срез начинается с нулевого элемента, если нет аргумента stop — до конца последовательности.
• Если нет аргумента step, то шаг равен единице.
• Любой из аргументов при создании среза может быть отрицательным числом.
• Если нет аргумента start, то срез начинается с нулевого элемента, если нет аргумента stop — до конца последовательности.
• Если нет аргумента step, то шаг равен единице.
• Любой из аргументов при создании среза может быть отрицательным числом.
Источники:
Рис. 1. Пример 5. © ЯКласс.
Рис. 2. Пример 6. © ЯКласс.