Просто так... Сумма значений элементов вложенных списков, используя списковые сборки.
Допустим:
есть объект 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])
------------------------
Для меня это оказалось не таким уж очевидным, поэтому решил поделиться с общественностью. Мало ли, кому ещё придёт в голову заниматься ЭТИМ ))
есть объект 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])
------------------------
Для меня это оказалось не таким уж очевидным, поэтому решил поделиться с общественностью. Мало ли, кому ещё придёт в голову заниматься ЭТИМ ))
