tamaño - sacar elementos de una lista python
¿Cómo comparar dos listas en python? (6)
¿Cómo comparar dos listas en python?
date = "Thu Sep 16 13:14:15 CDT 2010"
sdate = "Thu Sep 16 14:14:15 CDT 2010"
dateArr = [] dateArr = date.split()
sdateArr = [] sdateArr = sdate.split()
Ahora quiero comparar estas dos listas. Supongo que split devuelve una lista. Podemos hacer una comparación simple en Java como dateArr[i] == sdateArr[i]
, pero ¿cómo podemos hacerlo en Python?
Dado el código que proporcionó en los comentarios, asumo que desea hacer esto:
>>> dateList = "Thu Sep 16 13:14:15 CDT 2010".split()
>>> sdateList = "Thu Sep 16 14:14:15 CDT 2010".split()
>>> dateList == sdataList
false
El método split
de la cadena devuelve una lista. Una lista en Python es muy diferente de una matriz. ==
en este caso hace una comparación de elementos de las dos listas y devuelve si todos sus elementos son iguales y el número y orden de los elementos es el mismo. Lea la documentation .
De tu publicación deduzco que quieres comparar fechas, no matrices. Si este es el caso, entonces use el objeto apropiado: un objeto de datetime
y datetime
.
Por favor, consulte la documentación para el módulo datetime . Las fechas son una galleta dura. Utilice algoritmos confiables.
Si te refieres a listas, prueba ==
:
l1 = [1,2,3]
l2 = [1,2,3,4]
l1 == l2 # False
Si te refieres a array
:
l1 = array(''l'', [1, 2, 3])
l2 = array(''d'', [1.0, 2.0, 3.0])
l1 == l2 # True
l2 = array(''d'', [1.0, 2.0, 3.0, 4.0])
l1 == l2 # False
Si quieres comparar cadenas (por tu comentario):
date_string = u''Thu Sep 16 13:14:15 CDT 2010''
date_string2 = u''Thu Sep 16 14:14:15 CDT 2010''
date_string == date_string2 # False
Siempre se podría hacer solo:
a=[1,2,3]
b=[''a'',''b'']
c=[1,2,3,4]
d=[1,2,3]
a==b #returns False
a==c #returns False
a==d #returns True
for i in arr1:
if i in arr2:
return 1
return 0
arr1=[1,2,5]
arr2=[2,4,15]
q=checkarrayequalornot(arr1,arr2)
print(q)
>>0
a = [''a1'',''b2'',''c3'']
b = [''a1'',''b2'',''c3'']
c = [''b2'',''a1'',''c3'']
# if you care about order
a == b # True
a == c # False
# if you don''t care about order
set(a) == set(b) # True
set(a) == set(c) # True
Al lanzar a
, c
como un conjunto, eliminas duplicados y el orden no cuenta. Comparar conjuntos también es mucho más rápido y más eficiente que comparar listas.