Vérifiez si toutes les valeurs de iterable sont nulles

Est-il bon, succinct/moyen intégré pour voir si toutes les valeurs dans un objet iterable sont des zéros? Droit maintenant, je suis en utilisant all() avec un peu de compréhension de liste, mais (pour moi), il semble comme il devrait être plus expressif de la méthode. Je l'avais vue ce qu'un peu l'équivalent d'un memcmp() dans C.

values = (0, 0, 0, 0, 0)
# Test if all items in values tuple are zero
if all([ v == 0 for v in values ]) :
    print 'indeed they are'

Je m'attends à une fonction intégrée qui fait quelque chose comme:

def allcmp(iter, value) :
    for item in iter :
        if item != value :
            return False
    return True

Fait que la fonction existe en python et je suis juste aveugle, ou devrais-je rester avec ma version d'origine?

Mise à jour

Je ne dis pas que allcmp() est la solution. C'est un exemple de ce que je pense peut-être plus significatif. Ce n'est pas l'endroit où je voudrais suggérer de nouvelles built-ins pour Python.

À mon avis, all() n'est pas significative. Il ne peut pas exprimer à ce que "tous" est en train de vérifier. On pourrait supposer que all() prend un objet iterable, mais il ne peut pas exprimer à ce que la fonction est à la recherche d' (un objet iterable bools que les tests de tous pour True). Ce que je demande, c'est certaines fonctions comme la mon allcmp() qui prend deux paramètres: un objet iterable et une valeur de comparaison. Je me demande si il y a une fonction intégrée qui fait quelque chose de similaire à mon composée allcmp().

J'ai appelé le mien allcmp() à cause de mon C en arrière-plan et memcmp()le nom de mon fait de la fonction de pertinence ici.

source d'informationauteur mjschultz