Validar um CPF (Cadastro de Pessoas Físicas) manualmente em uma lista de dados pode ser uma tarefa demorada e propensa a erros. Utilizar Python com list comprehension é a forma mais eficiente e concisa de automatizar este processo, garantindo precisão e economia de tempo.
Para validar CPFs em uma lista de strings, primeiro é necessário criar uma função que implemente o algoritmo de validação do CPF. Em seguida, usaremos list comprehension para aplicar esta função a cada elemento do array.
def valida_cpf(cpf):
# Remove caracteres não numéricos
cpf = ''.join(filter(str.isdigit, cpf))
# Verifica se o CPF tem 11 dígitos
if len(cpf) != 11:
return False
# Verifica se todos os dígitos são iguais
if cpf == cpf[0] * 11:
return False
# Calcula o primeiro dígito verificador
soma = sum(int(digit) * (10 - i) for i, digit in enumerate(cpf[:9]))
resto = soma % 11
digito1 = 0 if resto < 2 else 11 - resto
# Calcula o segundo dígito verificador
soma = sum(int(digit) * (11 - i) for i, digit in enumerate(cpf[:10]))
resto = soma % 11
digito2 = 0 if resto < 2 else 11 - resto
# Compara os dígitos verificadores calculados com os informados
return digito1 == int(cpf[9]) and digito2 == int(cpf[10])
# Array de CPFs em strings
cpfs = ['123.456.789-09', '111.444.777-35', '529.982.247-25', '000.000.000-00']
# Validação usando list comprehension
cpfs_validos = [cpf for cpf in cpfs if valida_cpf(cpf)]
print(cpfs_validos)
| CPF de Entrada | Válido? |
|---|---|
| 123.456.789-09 | Não |
| 111.444.777-35 | Sim |
| 529.982.247-25 | Sim |
| 000.000.000-00 | Não |
Com este método, você automatiza a validação de CPFs em segundos, evitando erros manuais e garantindo a integridade dos dados do seu array de strings. A combinação de uma função robusta com list comprehension do Python oferece uma solução elegante e eficiente para esta tarefa comum de processamento de dados.