Articles of comparación

¿Por qué 0 <() evalúa a True en Python?

Sin querer, time.clock<() con la respuesta del intérprete de Python 2.7 siendo: True . El siguiente código ejemplifica el comportamiento: >>> repr(time.clock) ” >>> time.clock<() True Además: >>> import sys >>> sys.maxint >> map(lambda _:0<_,((),[],{})) [True, True, True] A diferencia de: >>> 1<set(()) TypeError: can only compare to a set Pregunta: Además de por qué, […]

¿Por qué {} | | () | str | set | etc. > n es igual a True en python2.x?

Noté esto cuando intentaba comparar: if len(sys.argv) >= 2: pass pero había hecho esto y aún era verdadero (Me tomó un tiempo encontrar el error): if sys.argv >= 2: # This is True!!! pass Aquí hay algunos ejemplos más: >>> {} > 2 True >>> [] > 2 True >>> () > 2 True >>> […]

Operador de comparación ‘Invertido’ en Python

class Inner(): def __init__(self, x): self.x = x def __eq__(self, other): if isinstance(other, Inner): return self.x == other.x else: raise TypeError(“Incorrect type to compare”) class Outer(): def __init__(self, y): self.y = Inner(y) def __eq__(self, other): if isinstance(other, Outer): return self.y == other.y elif isinstance(other, Inner): return self.y == other else: raise TypeError(“Incorrect type to compare”) […]

¿La mejor manera de obtener una cadena de consulta desde una URL en Python?

Necesito obtener la cadena de consulta de esta URL https://stackoverflow.com/questions/ask?next=1&value=3 y no quiero usar request.META . Me he dado cuenta de que hay dos formas más de obtener la cadena de consulta: Usando urlparse urlparse.urlparse (url) .query Uso de la encoding url Use urlencode y pase la solicitud. CONSIGA el diccionario de parámetros para obtener […]

Operadores de comparación preferidos de Python

Se prefiere hacer: if x is y: return True o if x == y return True Lo mismo para “no es”

¿Dónde en la documentación de python permite que el operador `in` esté encadenado?

Recientemente descubrí que lo siguiente devuelve True : ‘a’ in ‘ab’ in ‘abc’ Soy consciente del encadenamiento de comparación de python como a < b < c , pero no puedo ver nada en la documentación sobre si esto es legal. ¿Es esta una característica accidental en la implementación de CPython, o se especifica este […]

comparación aproximada en python

Quiero hacer una comparación aproximada con el operador ‘==’ en mi progtwig: los valores flotantes x e y son iguales (==) si abs(xy)/(0.5(x+y)) < 0.001 ¿Qué es una buena manera de hacer eso? Dado que float es un tipo integrado, no creo que pueda redefinir el operador ==, ¿puedo? Tenga en cuenta que me gustaría […]

Comparando matrices NumPy para que los NaN se comparen iguales

¿Existe una forma idiomática de comparar dos matrices NumPy que traten a los NaN como iguales entre sí (pero no iguales a nada que no sea ​​un NaN)? Por ejemplo, quiero que las dos matrices siguientes se comparen igual: np.array([1.0, np.NAN, 2.0]) np.array([1.0, np.NAN, 2.0]) y las siguientes dos matrices para comparar desiguales: np.array([1.0, np.NAN, […]

Python – doctest vs. unittest

Estoy intentando comenzar con las pruebas de unidad en Python y me preguntaba si alguien podría explicar las ventajas y desventajas de doctest y unittest. ¿Para qué condiciones usarías cada uno?

Valor para epsilon en Python

¿Hay un valor estándar para (o un método para obtener) épsilon en Python? Necesito comparar valores de punto flotante y quiero comparar con la menor diferencia posible. En C ++ se proporciona una función numeric_limits::epsilon( ) que proporciona el valor de épsilon para cualquier tipo de datos dado. ¿Hay un equivalente en Python?