Compruebe si un dígito está presente en una lista de números

¿Cómo puedo ver si un índice contiene ciertos números?

numbers = [2349523234, 12345123, 12346671, 13246457, 134123431] for number in nummers: if (4 in nummer): print(number + "True") else: print("False") 

Tendrías que hacer comparaciones de cadenas para esto.

 for number in numbers: if '4' in str(number): print('{} True'.format(number)) else: print("False") 

No es realmente significativo preguntar si el número 4 está “en” otro número (a menos que tenga en mente alguna definición particular de “en”)

Puede convertir el número en una cadena y, si desea obtener el primer número que tiene 4 , puede usar una expresión de generador en el next :

 >>> next(i for i in numbers if '4' in str(i)) 2349523234 

O puede usar una lista de comprensión si desea conservar el número que cumple con la condición:

 expected_numbers=[i for i in numbers if '4' in str(i)] 

Pero desde un punto de vista matemático, puedes generar todos los dígitos usando la siguiente función:

 In [1]: def decomp(num): ...: while num: ...: yield num % 10 ...: num = num // 10 

Entonces puedes hacer lo siguiente:

 In [3]: numbers = [2349523234, 12345123, 12346671, 13246457, 134123431] In [4]: [n for n in numbers if any(4==i for i in decomp(n))] Out[4]: [2349523234, 12345123, 12346671, 13246457, 134123431]