web-dev-qa-db-ja.com

リストからアイテムを削除すると、リストはタイプなしになります

私が見落としている簡単な解決策があると思います。複雑なものよりはましですよね?

簡単に言えば:

var = ['p', 's', 'c', 'x', 'd'].remove('d')

varのタイプはNoneになります。ここで何が起こっているのですか?

13
Joseph_Renerr

removeは何も返しません。既存のリストをインプレースで変更します。割り当ては必要ありません。

交換

var = ['p', 's', 'c', 'x', 'd'].remove('d') 

var = ['p', 's', 'c', 'x', 'd']
var.remove('d') 

これで、varの値は['p', 's', 'c', 'x']になります。

20
Kevin

removeはリストをインプレースで変更し、Noneを返します。それを変数に入れて、それを変更する必要があります。

>>> var = ['p', 's', 'c', 'x', 'd']
>>> var.remove('d')   # Notice how it doesn't return anything.
>>> var
['p', 's', 'c', 'x']
1
Alex Thornton