python
runtime_error
ai_generated
true
AssertionError: assert [1, 2, 3] == [1, 2, 4]
ID: python/assertionerror-assert-equal-lists
80%Fix Rate
85%Confidence
0Evidence
2024-01-15First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.8 | active | — | — | — |
| 3.9 | active | — | — | — |
| 3.10 | active | — | — | — |
Root Cause
Lists are compared element-wise; a mismatch in one element causes the entire assertion to fail.
generic中文
列表逐元素比较;一个元素不匹配导致整个断言失败。
Workarounds
-
95% success Use assertListEqual for detailed diff output
self.assertListEqual([1, 2, 3], [1, 2, 4])
-
85% success Convert to tuples before comparison
assert tuple([1, 2, 3]) == tuple([1, 2, 4])
Dead Ends
Common approaches that don't work:
-
Using assertEqual without understanding deep comparison
60% fail
assertEqual uses == which compares references for mutable objects; may not catch structural differences.
-
Manually iterating and comparing each element
40% fail
Redundant and error-prone; often misses edge cases like empty lists or type mismatches.