2009-11-06 9 views

Répondre

6

Essayez ceci:

arra = sum(a for i,a in enumerate(arra) if i %3==1 and i != 16) 

Pour ce genre de travail complexe, la notation tranche ne fera pas vraiment. Mais pourquoi assignes-tu de nouveau à Arra? Vous effacez votre liste de valeurs d'origine.

+0

+1 pour utiliser 'enumerate()'. C'est la bonne réponse. –

0

tranches ne fonctionnent pas comme ça.

Paul McGuire a le bon code:

arra = sum(x for i, x in enumerate(arra) if i % 3 == 1 and i != 16) 

Il est pas clair de votre code ce que le point de l'for i in range(0, len(arra), 16)] est censé être. Qu'est-ce que vous essayez d'accomplir?

+0

L'OP ne veut pas sauter les * valeurs * == 16, mais le * index * == 16. – PaulMcG

+0

@Paul McGuire: Ah oui. Mon erreur. J'ai corrigé ma réponse. –

Questions connexes