私は混乱しています。文字列のタプルは "比較"が一貫して動作しません
foo = ("empty", 0)
foo[0] is "empty"
戻り値False。これは "list"も失敗するため、キーワード文字列の問題と思われます。 "empt"と他の文字列が真を返します。これは、fooがリストであるかのように、コードが真を返すかのように、タプルでのみ起こるようです。
これをpython 3.4.3とpython 3.5でテストしましたが、どちらもこのように動作します。この問題はありますが、期待どおりに真を返します。
python3のタプルにいくつかの標準がありませんか?私はこの問題をgoogle-fooにしようとしましたが、手短かになっています。
編集: 物事をクリアするには、私の正確な質問はFalseの理由ん
foo = ("empty", 0)
foo[0] is "empty"
リターンが、
foo = ("empt", 0)
foo[0] is "empt"
リターン本当ですか?
文字列を比較しています*。なぜあなたは '=='ではなく 'is'を使うことに決めましたか? –
2つは文字通り同じオブジェクトではないので、これは 'が'テストしているものです。彼らは* equalです。* – kindall
't =(" list "、); t [0]は "list"で、 'False'に評価され、' t =( "notlist"、); t [0]は "notlist"から "True"になります。私はこれが質問の核心だと思う。 – mhoff