Image

Category:

Просто так... Сумма значений элементов вложенных списков, используя списковые сборки.

Допустим:
есть объект P со свойством N (какое-то случайное число)
есть объект A со свойством PS (список объектов P)
есть объект S - список объектов A

Отсюда получается:
m - какое-то случайное число
Pn.N = m
An.PS = [P, ..., Pn]
S = [A, ..., An]

Задача:
Найти сумму всех чисел m, используя только списковые сборки (для компактности)

Решения:
Традиционное:
------------------------
summa
= 0
for A in S:
    for P in A.PS:
        summa += P.N
------------------------
Моё:
------------------------
summa = sum([sum([P.N for P in A.PS]) for A in S])
------------------------

Для меня это оказалось не таким уж очевидным, поэтому решил поделиться с общественностью. Мало ли, кому ещё придёт в голову заниматься ЭТИМ ))