Bonjour, je voudrais comparer une pastèque...
Ce qui se conçoit bien s'énonce clairement. On ne compare pas "un" truc ; ou alors on dit avec quoi on veut le comparer. Donc on compare (au minimum) "deux" trucs
Donc comparer deux listes, c'est prendre un à un chaque élément dans la première liste et chaque élément dans la seconde liste et regarder s'ils sont égaux. Et si on trouve une différence, alors ils ne le sont définitivement pas.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 >>> a=[[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> b=[list(x) for x in a] >>> a [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> b [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> for (x, y) in zip(a, b): ... print(x, y, x==y) ... [1, 2, 3] [1, 2, 3] True [4, 5, 6] [4, 5, 6] True [7, 8, 9] [7, 8, 9] True >>> for (x, y) in zip(a, b): ... if x != y: ... print("Ils sont inégaux") ... break ... else: print("Ils sont égaux") ... Ils sont égaux >>> b[1][1]="toto" >>> a [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> b [[1, 2, 3], [4, 'toto', 6], [7, 8, 9]] >>> for (x, y) in zip(a, b): ... print(x, y, x==y) ... [1, 2, 3] [1, 2, 3] True [4, 5, 6] [4, 'toto', 6] False [7, 8, 9] [7, 8, 9] True >>> for (x, y) in zip(a, b): ... if x != y: ... print("Ils sont inégaux") ... break ... else: print("Ils sont égaux") ... Ils sont inégaux
Ca c'est le principe général. Il se trouve toutefois que Python sait le faire tout seul (au moins pour ses propres tableaux)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 >>> a [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> b [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> a==b True >>> b[1][1]="toto" >>> a [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> b [[1, 2, 3], [4, 'toto', 6], [7, 8, 9]] >>> a==b False