Tengo el siguiente código de prueba. ¿Cómo puedo hacer que esta condición sea verdadera? Sé que a.split es un método en Str () pero cuando lo pongo en una variable lo ve como una lista.
a="1.1.1.1/29"
aa=a.split('/')
>>aa == "29"
>>False
4 respuestas
Puedes usar en la lista como
a="1.1.1.1/29"
aa=a.split('/')
>>"29" in aa
>>True
Split efectivamente divide una cadena en una subcadena y devuelve las subcadenas resultantes dentro de una lista.
La siguiente condición devuelve True:
aa[1] == "29"
str.split()
devuelve la "lista de cadenas después de dividir el original por el delimitador que especificó.
a = '1.1.1.1/29'
aa = a.split('/') # aa is now ['1.1.1.1', '29']
subnet = aa[1] # subnet is '29'
Puede obtener más información al respecto aquí: https://www.pythonforbeginners.com/dictionary/python- dividido
str.split le ofrece una lista , y también a.split('/')
, y si compara una lista con una cadena, obviamente fallará
Debe tomar el último elemento de la lista y compararlo con 29
para que el código funcione de la siguiente manera.
In [119]: a="1.1.1.1/29"
In [120]: aa=a.split('/')
#Gives you a string
In [121]: aa
Out[121]: ['1.1.1.1', '29']
#Second element of list is 29, comparison returns True
In [122]: aa[1] == '29'
Out[122]: True
#List to string comparison returns False
In [123]: aa == '29'
Out[123]: False
Pero puede verificar la membresía utilizando el operador in
, para ver si el elemento está contenido en la propia cadena, lo que le ahorrará la molestia de dividir la cadena y comparar el elemento de la lista
In [125]: a="1.1.1.1/29"
In [126]: '29' in a
Out[126]: True
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.