2016-04-27 9 views
0

多次元リスト内の要素を検索しようとしていますが、機能していません。私の検索で何か間違っていますか?以下は簡単なコードであり、私は、任意のエラーは、私がやっているいただきました!推測「で」を使用して検索すると「任意の」はdidntの仕事..多次元リスト内の要素が検索されない。任意のヒント

list1 = [] 
list1.append([['hello'], ['blue'], ['bla']]) 

print list1 

list1.append([['hello'], ['blue'], ['bla']]) 
print list1 

#if 'hello' in list1: 
if any('hello' in x for x in list1): 
    print "Found Hello" 
else: 
    print "Not Found Hello" 

てみました?あなたのインプット/コメントを親切に共有してください。

ありがとうございます。 Vimo

+0

私の意図は次のとおりです。リストから変数を読み込んでいて、その要素が新しい色であれば、別の2つの要素とともに別のリストに入れます。例:[[[赤]、[車]、[飛行]]] b。次の色が新しい場合は、たとえば[[[赤]、[車]、[飛行]]、[緑色]、[サイクル]、[トラック]などの新しいサブリストに追加したいと考えています。 ]] c。次の色が同じ色なら、新しいサブリストEgを作成するのではなく、同じサブリストに追加したいと考えていました。[[[red]、[car]、[flight]、[Jeans]] 、[[緑]、[サイクル]、[トラック]]]だから私はすべてのサブリストを繰り返したいと思った。 – Vimo

+0

また、サブリストは新しい色に応じて増加し続けることができます。したがって、色がすでに多次元リストに存在するかどうかを確認したいときや、新しい詳細をリストに追加する前に確認したいとき – Vimo

答えて

1

list1はリストのリストでなければなりません場合は、問題があなたの代わりにextendを使用し、この場合には、list1にリストを追加していることです。

ネストされたリスト(任意の数のレベル)でアイテムを検索したい場合は、あなたが

def in_nested_list(item, x): 
    if not isinstance(x, list): 
     return x == item 
    else: 
     return any(in_nested_list(item, ix) for ix in x) 

list1 = [] 
list1.append([['hello'], ['blue'], ['bla']]) 

print list1 

list1.append([['hello'], ['blue'], ['bla']]) 
print list1 

#if 'hello' in list1: 
if in_nested_list('hello', list1): 
    print "Found Hello" 
else: 
    print "Not Found Hello" 
+0

ありがとうレスポンスMalbarbo!あなたが投稿した関数の例を使ってみましたが、そのエラーは以下のとおりです! TypeError:isinstance()arg 2クラスと型またはタプルのクラスと型でなければなりません そのエラーが発生する理由を教えてください。私はちょうどとして、関数を呼び出しました in_nested_list(x、 'hello') – Vimo

+0

私のリストも同じキーワード "リスト"を持っているため、その問題を理解しています...しかし、まだ動作していません..何に入力する必要があります関数 ?? – Vimo

+0

使い方をきれいにするために、パラメータ名を変更して、例を追加します。 – malbarbo

0

この機能を使用することができますあなたが好きな、より深い一つの層を移動する必要があります:

for l in list1: 
    for item in l: 
     if 'hello' in item: 
      #do something 

それとも、「ハロー」検索したい場合は、一つの更なるレベルダウン検索する必要がありますlist.extend()

0

を使用します。

if any('hello' in x for middle_list in list1 for x in middle_list): 
    print "Found Hello" 
関連する問題