リストで構成されているオブジェクトを解析する必要があります。しかしそれはリストのリストの中にリストを持つことができます:obj=[[smth1],[[smth2],[smth3]]]
それぞれsmthX
もリストにすることができます。isinstance()の代わりに何を使うべきですか
私が知っている価値を探しているのは、「第2層のリスト」です。私の例では、それは可能性があります[[smth2],[smth3]]
私は今何をしているのですか、私のオブジェクトをiteraratingし、私が繰り返しているものがリストであるかどうかをテストしています。もしそうなら、私は自分の価値を探します。 isinstance()
の使用は、使用する前に(と私の使用は特別な機会のようには見えません)
だけの特別な機会のためのものであることを
for list in obj :
if isinstance(list, obj) :
for souslist in list :
I LOOK FOR MY VALUE
しかし、私はどこにでも読んでいます(http://canonical.org/~kragen/isinstance/ stackoverflowのスレッドがたくさん) isinstance()
私はlist [0]がtry/exceptで返されたものをテストしていましたが、それはさらに悪いと感じました。クリーンな方法でこれを達成するための代替手段はありますか? (私はobj
私はそれで動作する必要があります
を使用して確認してくださいご利用には、実際に、私には罰金です。私自身の 'isinstance'の99%は、異種の型のコレクションを繰り返しているときです。異種型のコレクションは、あなたがここでやっていることとまったく同じように見えます。 (これは私の意見であるためコメントではなく回答として投稿しています) – Kevin
* 2番目のレイヤーリスト*で正確に何を意味していますか? 2つのネストされたリストであるアイテムを見つけたい場合は、最初のループでこれを達成することはできません。 – Kasramvd
あなたのケースでは 'isinstance'を使うことに何も問題ありません。あなたの最初のアプローチも大丈夫でした。Pythonは「許可よりも許しを求めるのは簡単です」と信じています。https://docs.python.org/3.4/glossary.html#term-eafp – DeepSpace