次の python の結果について質問があります。タプルがあるとします:
a = ( (1,1), (2,2), (3,3) )
を削除したいのです(2,2)
が、次のコードでこれを行っています。
tuple([x for x in a if x != (2,2)])
これは正常に動作し、結果は次のとおり( (1,1), (3,3) )
です。期待どおりです。
しかし、私がから始めるとしますa = ( (1,1), (2,2) )
同じ tuple() コマンドを使用すると、結果は ( (1,1), )
期待どおりになります((1,1))
要するに
>>> a = ( (1,1), (2,2), (3,3) )
>>> tuple([x for x in a if x != (2,2)])
((1, 1), (3, 3))
>>> a = ( (1,1), (2,2) )
>>> tuple([x for x in a if x != (2,2)])
((1, 1),)
2 番目のケースでなぜコンマと空の要素があるのでしょうか? どうすればそれを取り除くことができますか?
ありがとう!