3

次の 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 番目のケースでなぜコンマと空の要素があるのでしょうか? どうすればそれを取り除くことができますか?

ありがとう!

4

2 に答える 2