"ast" <nom...@invalid.com> wrote in message news:530eda1d$0$2061$426a7...@news.free.fr... > Hello > > box is a list of 3 integer items > > If I write: > > box.sort() > if box == [1, 2, 3]: > > > the program works as expected. But if I write: > > if box.sort() == [1, 2, 3]: > > it doesn't work, the test always fails. Why ? >
Try the following in the interpreter - >>> box = [3, 2, 1] >>> box.sort() >>> box [1, 2, 3] >>> box = [3, 2, 1] >>>print(box.sort()) None >>> box [1, 2, 3] box.sort() sorts box 'in situ', but does not return anything. That is why the second example prints None. In your second example, you are comparing the return value of box.sort() with [1, 2, 3]. As the return value is None, they are unequal. HTH Frank Millman -- https://mail.python.org/mailman/listinfo/python-list