Python qualquer

Resumo: neste tutorial, você aprenderá como usar a any()função Python para verificar se algum elemento de um iterável é verdadeiro.

Introdução à função any() do Python

A any()função aceita um iterável e retorna verdadeiro se qualquer elemento do iterável for verdadeiro:

any(iterable)Linguagem de código:  Python  ( python )

Se o iterável estiver vazio, a any()função retornará falso.

Tecnicamente, a any()função é equivalente ao seguinte:

def any(iterable):
    for elem in iterable:
        if elem:
            return True
    return FalseLinguagem de código:  Python  ( python )

Ao usar a any()função, você pode evitar forloops e tornar seu código mais conciso.

Observe que se quiser verificar se todos os elementos de um iterável são verdadeiros, você pode usar a all()função.

Exemplos de funções any() em Python

Vejamos alguns exemplos de uso da any()função.

1) Exemplos simples de funções any()

O exemplo a seguir usa a any()função que verifica se uma lista possui algum número que não seja zero:

scores = [0, 4, 1, 2]

print(any(scores))  # TrueLinguagem de código:  Python  ( python )

Como todos os números diferentes de zero são avaliados como verdadeiros e as pontuações contêm números que não são zero, o resultado é verdadeiro.

O exemplo a seguir usa a any()função para verificar se uma lista contém pelo menos uma string não vazia:

names = ['','','Jane']
print(any(names))  # TrueLinguagem de código:  Python  ( python )

Como a lista contém uma string não vazia, a any()função retorna verdadeiro.

O exemplo a seguir usa a any()função para verificar se a lista contém algum valor verdadeiro:

items = ['', False, 0, ()]
print(any(items))  # FalseLinguagem de código:  Python  ( python )

Como todos os elementos dos itens são falsos, a any()função retorna falso.

2) Usando a função any() do Python para verificar se uma string contém dígitos

O exemplo a seguir verifica se uma string contém algum dígito:

message = 'Python 101'

has_digit = False
for c in message:
    if c.isdigit():
        has_digit = True
        break

print(has_digit)  # TrueLinguagem de código:  Python  ( python )

Neste exemplo, iteramos os caracteres de uma string e verificamos se cada caractere é um dígito. Nesse caso, defina o has_digitsinalizador como falso e saia do loop.

Para torná-lo mais curto, você pode usar o any()método com compreensão de lista .

Primeiro, use uma compreensão de lista para verificar se cada caractere de uma string é um dígito e armazene o resultado em uma lista:

message = 'Python 101'

digits = [c.isdigit() for c in message]
print(digits)Linguagem de código:  Python  ( python )

Saída:

[False, False, False, False, False, False, False, True, True, True]Linguagem de código:  Python  ( python )

Segundo, passe a lista de resultados (dígitos) para a any()função:

message = 'Python 101'

digits = [c.isdigit() for c in message]
has_digit = any(digits)

print(has_digit) # FalseLinguagem de código:  Python  ( python )

3) Usando a função any() do Python para combinar múltiplas condições com OR lógico

Suponha que você tenha muitas condições c1, c2, .. cn e precise verificar se uma dessas condições é verdadeira assim:

if c1 or c2 or ... cn:
   passLinguagem de código:  Python  ( python )

Para tornar o código mais limpo, você pode combinar essas condições em um iterável e usar a any()função assim:

conditions = (c1, c2, ...cn)
if any(conditions):
   passLinguagem de código:  Python  ( python )

Por exemplo, em vez de ter isto:

x = 200

if x > 10 or x < 100 or x%2 == 0:
    print(x)Linguagem de código:  Python  ( python )

Saída:

200Linguagem de código:  Python  ( python )

você pode usar o any()seguinte:

x = 200

conditions = (x < 10, x < 100, x % 2 == 0)

if any(conditions):
    print(x)Linguagem de código:  Python  ( python )

Ele retorna o mesmo resultado.

Resumo

  • Use any()a função Python para verificar se algum elemento de um iterável é verdadeiro.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *