52 votes

Comment comparer deux listes en python ?

Comment comparer deux listes 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() 

Maintenant, je veux comparer ces deux listes. Je suppose que split renvoie une liste. Nous pouvons faire une simple comparaison en Java comme dateArr[i] == sdateArr[i] , mais comment pouvons-nous le faire en Python ?

106voto

skajfes Points 2770

Vous pouvez toujours faire simplement :

 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

26voto

PyRsquared Points 1827
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 AND duplicates
set(a) == set(b) # True
set(a) == set(c) # True

En diffusant a , b et c comme un ensemble, vous supprimez les doublons et l'ordre ne compte pas. Comparer des ensembles est également beaucoup plus rapide et efficace que de comparer des listes.

5voto

Dominic Rodger Points 44489

Si vous voulez dire des listes, essayez == :

 l1 = [1,2,3]
l2 = [1,2,3,4]

l1 == l2 # False

Si vous voulez dire 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 vous voulez comparer des chaînes (selon votre commentaire) :

 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

1voto

ravi tanwar Points 91
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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X