On 2022-11-13, DFS <nos...@dfs.com> wrote: > In code, list.clear is just ignored. > At the terminal, list.clear shows ><built-in method clear of list object at 0x000001C9CFEC4240> > > > in code: > x = [1,2,3] > x.clear > print(len(x)) > 3 > > at terminal: > x = [1,2,3] > x.clear ><built-in method clear of list object at 0x000001C9CFEC4240> > print(len(x)) > 3 > > > Caused me an hour of frustration before I noticed list.clear() was what > I needed. > > x = [1,2,3] > x.clear() > print(len(x)) > 0
If you want to catch this sort of mistake automatically then you need a linter such as pylint: $ cat test.py """Create an array and print its length""" array = [1, 2, 3] array.clear print(len(array)) $ pylint -s n test.py ************* Module test test.py:4:0: W0104: Statement seems to have no effect (pointless-statement) -- https://mail.python.org/mailman/listinfo/python-list