I imagine there is a simple solution that I am overlooking. Better that than a complicated one, right?
Simply put:
var = ['p', 's', 'c', 'x', 'd'].remove('d')
causes var to be of type None. What is going on here?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
remove doesn’t return anything. It modifies the existing list in-place. No assignment needed.
Replace
var = ['p', 's', 'c', 'x', 'd'].remove('d')
with
var = ['p', 's', 'c', 'x', 'd']
var.remove('d')
Now var will have a value of ['p', 's', 'c', 'x'].
Method 2
remove mutates the list in-place, and returns None. You have to put it in a variable, and then change that:
>>> var = ['p', 's', 'c', 'x', 'd']
>>> var.remove('d') # Notice how it doesn't return anything.
>>> var
['p', 's', 'c', 'x']
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0