Я полагаю, что «имеется переменная x, назначенная списку из 15 диктов, каждый из которых имеет 5 пар ключ / значение», вы подразумеваете «существует список из 15 диктов, каждый из которых имеет 5 пар ключ / значение, присваивается переменной x ".
Если значения ключа / значений многократно изменяются, а ключи для каждого dict остаются неизменными, то, возможно, самый простой способ - отслеживать сумму каждого dict и изменять их при изменении значения , И, вероятно, быстрее «транспонировать», так сказать, дикты, чтобы вместо того, чтобы для каждого дикта видеть, в каких ключах он у вас есть, для каждого ключа вы сохраняете то, в чем он состоит. Например:
inclusions = {key:
[index for index in range(len(x)) if key in x[index].keys()]
for key in y.keys()}
#inclusions is a dictionary is which each key is a key from y
#and each value is a list of dictionaries in x
#that contain that key
sums = [sum(x[i].values() for i in range(len(x)))]
#sums is a list of sums of the corresponding dicts in x
#i.e. the nth value of sums is the sum of the values in x[n]
while True:
# y[a] changes from old_value to new_value
diff = new_value-old_value
for index in inclusions[a]:
sums[index] += diff
#you can now test for >50
#e.g. any([value > 50 for value in sums])