У меня большой список кортежей:
A = [(1, 2), (2, 4), (3, 5), ..., (11, 3), (23, 1), (29, 0)]
Теперь я хочу добавить те вторые элементы, первый элемент которых находится в заданном диапазоне c, [3, 11] , что должно дать 5 + ... + 3.
Вот мое решение:
xs, ys = [i[0] for i in A], [i[1] for i in A]
my_sum = 0
for i, j in zip(xs, ys):
if 3<=i[0]<=11:
my_sum += j
Однако, если возможно, мне нужен более короткий фрагмент, чем этот.