2017-07-20 7 views
0
a = [['ab', 'cd'], ['cd'], ['cd', 'ef'] 

for line in a: 
    if 'c' in line: 
     print line 

上記のコードを参照してください。文字 'c'を含む行をどのように印刷できますか?要素内の完全な文字列が存在する場合にのみ結果を得ることができます。'all'フル印刷特定の文字が文字列の要素内に存在するときのリスト

+0

私はあなたが望むものはまだ理解していません。それらに_c_を含む要素を含むすべてのリストを印刷しようとしていますか?または、_c_で構成される文字列だけを出力しようとしていますか? – eshirima

答えて

0

私はまだあなたが望むものは正確にはわかりませんが、両方のシナリオをカバーしてみました。

シナリオI:

あなたはリストのリストを持っている文字からなる要素を持っている完全なリストを取得します。 aを反復すると、2番目のリストにアクセスします。

現在のコードではaの内容の中にcが存在するかどうかを確認しています。 aは文字列ではなく別のリストで構成されているため、明らかにそうではありません。 2番目のリストを反復処理し、以下に示すように文字の存在チェックを実行する必要があります。

a = [['ab', 'cd'], ['cd'], ['cd', 'ef'], ['ar'], ['tu'], ['ip', 'cr']] 

for list in a: #this loop accesses the second list 
    for element in list: #this accesses the actual elements i.e. 'ab, cd' etc 
    if 'c' in element: 
     print list 

出力

['ab', 'cd'] 
['cd'] 
['cd', 'ef'] 
['ip', 'cr'] 

シナリオII:上記のように、文字

同じコードで構成されて完全な文字列を取得します。あなただけのリスト内の特定の要素を印刷しようとしている場合、これは動作しますprint element

出力

cd 
cd 
cd 
cr 
+0

シナリオI:文字で構成された要素を持つ完全なリストを入手してください。ありがとうございました:) –

0
a = (['ab', 'cd'], ['cd'], ['cd', 'ef']) 


for i in range(0,3): 
    for j in range(0, len(a[i])): 
     if 'c' in a[i][j]: 
      print a[i][j] 

print listを交換してください。この場合、出力が繰り返されるときに、連結項目に文字 'c'があるかどうかを確認すると、出力は

cd 
cd 
cd 
0

です。 これはaがリストのリストである場合に機能します。

a = [['ab', 'cd'], ['cd'], ['cd', 'ef'] 

for item in a: 
    if 'c' in "".join(item): 
     print item 
+0

あなたは私にそれを打つ。代替としてこれを追加しようとしていた。 :) – eshirima

+0

あなたの親切な言葉をありがとうeshirima :) –

関連する問題