2013-09-24 3 views
1

Если у меня есть массив:Нахождение значений шаблонов в массиве

A = [1,3,4,5] 

и словарь, который соответствует типам шаблонов, так что тип шаблона 0 был позиции 0 массива и тип образца 5 был индекс 0, индекс 3 массива:

patterrnDict = {1:[0],5:[0,3]} 

Теперь сказать шаблон типа 5, я забочусь только о стоимости, так что пока patternDict [5] будет возвращать 1,5, я действительно хочу, значение 1 + 5 , поэтому я хочу получить результат 6. Как я могу это достичь?

+2

Боюсь, я с трудом понимаю, что вы просите. – Richard

+1

'sum (A [i] для i в patterrnDict [5])' – falsetru

ответ

4

Что-то вроде этого:

>>> sum(A[index] for index in patternDict[5]) 
-1
reduce(lambda x,y:x+y, map(A.__getitem__, pd[5])) 

, конечно, вы можете написать функцию, чтобы сделать это.

Смежные вопросы