Restar listas: calcular la diferencia
Las listas en Python pueden contener varios elementos. Para realizar operaciones matemáticas en listas, como la resta, empleamos métodos o técnicas específicas. Exploremos cómo restar una lista de otra.
Uso de la comprensión de listas para la resta elemento por elemento
Un enfoque es utilizar una comprensión de listas, que se itera sobre la primera lista y calcula la diferencia conservando el orden original:
[item for item in x if item not in y]
Restar conjuntos para cálculos más rápidos
Si mantener el orden de los elementos no es crucial, un enfoque basado en conjuntos ofrece cálculos más rápidos:
list(set(x) - set(y))
Anulando sub para restas de lista
Para habilitar la resta de lista usando el operador infijo "-", podemos anular el método __sub__ de una clase que hereda de la lista:
class MyList(list): def __init__(self, *args): super(MyList, self).__init__(args) def __sub__(self, other): return self.__class__(*[item for item in self if item not in other])
Ejemplo de uso:
x = MyList(1, 2, 3, 4) y = MyList(2, 5, 2) z = x - y # z becomes a MyList object containing the difference
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3