リストに他のリストが含まれているかどうかを確認するにはどうすればよいですか? リストにPythonで別のリストが含まれているかどうかを確認する方法はありますか?
[['cow'], 12, 3, [[4]]]
が出力True
なるように
['cow', 12, 3, 4]
のようなものが出力False
だろうが、私は、それを必要とします。
リストに他のリストが含まれているかどうかを確認するにはどうすればよいですか? リストにPythonで別のリストが含まれているかどうかを確認する方法はありますか?
[['cow'], 12, 3, [[4]]]
が出力True
なるように
['cow', 12, 3, 4]
のようなものが出力False
だろうが、私は、それを必要とします。
ここでは、リストの理解を使用したきれいな解決策を示します。
はobj = [['cow'], 12, 3, [[4]]]
を考えると、我々は最初のobj
に種類のリストを取得するには、リストの内包表記を使用します:list
たちが作成したタイプのリストにある場合
>>> [type(x) for x in obj]
[<type 'list'>, <type 'int'>, <type 'int'>, <type 'list'>]
今、私たちは単にチェック。リストの理解度を見直して、ブール式にしてみましょう:
>>> list in [type(x) for x in obj]
ここで、素敵で短いです。それはうまくいくのですか?あなたはまた、リストのサブクラスを検索したい場合は
>>> obj = [['cow'], 12, 3, [[4]]]
>>> list in [type(x) for x in obj]
True
>>> obj = ['cow', 12, 3, 4]
>>> list in [type(x) for x in obj]
False
'input'と' type(list()) 'という文字列をそのまま使用しない* is * 'リスト'。 – Wombatz
@Wombatzは、 'type(list())'の冗長性に関するポインタのおかげで答えを更新しました。コード例で 'input'を使うのはどうですか? – daveruinseverything
python2とpython3の両方で[組み込み関数](https://docs.python.org/3/library/functions.html)です。 – Wombatz
あなたはisinstance
使用する必要があります。
def any_list_in(obj):
return any(isinstance(item, list) for item in obj)
any
が止まるとすぐに条件がTrue
であるように、これは必要な場合のみのみなど、多くの項目をチェックする必要があります。
>>> any_list_in([['cow'], 12, 3, [[4]]])
True
>>> any_list_in(['cow', 12, 3, 4])
False
isinstance(item, list) for item in obj
for
-loopまたはリスト内包表記に似ています
generator expressionです。また、(長いと少し遅いが、多分それは理解する方が良いでしょう)のように書くことができます
def any_list_in(obj):
for item in obj:
if isinstance(item, list):
return True
return False
リストは「[」、それをint型といくつかの文字列が含まれていない場合は、このメソッドを使用することができます。 lst`で
私たちは私のpython 3.xではどのようなモジュールを知らない:(この仕事のためのモジュールを持っているのpython 2.7でdef check(a):
a=str(a)
if a.count('[')==1: # or a.count(']')==1;
return False
return True
)
from compiler.ast import flatten
def check(a):
if flatten(a)==a:
return False
return True
'[ '牛']されます必要なもの –
特定の内部リストを確認するか、内部リストがあるかどうかを確認する必要がありますか? – Blckknght
http://stackoverflow.com/questions/2225038/determine-the-type-of-a-python-object –