2017-08-02 5 views
-1

私は3つのリストを持っていると交差:パイソン:複数のリストの列

a = [[abc, def, ghd], [...], ...] 
b = [[abc, olnaf, kjbdsa], [...], ...] 
c = [[abc, aeufga, älaga], [...], ...] 

どのように私は、最初の列(例えば、ABC)に基づいて、交差要素を見つけるのですか?

私は3つのリストのすべての項目を持つ新しいリストを取得したいと思います。 'abc'エントリ。

挨拶

クリス

+0

あなたは 'abc'に基づいて、' a'、 'b'、' c'のサブリストのどれにこの要素が含まれているかを表示したいのですか? –

+0

あなたが試したこと、そして特定の入力の結果としてあなたが期待していることを教えてください... – Roberto

答えて

0

感謝を使用して交差点を見つけることができます。私は最終的にPandas Dataframeと関心のある列の内部結合でそれを行いました。

0

あなたが最初の列の最初の項目では、文字列の出現箇所を意味しますか?

column = 0 

a = [["abc", "def", "ghd"], [], []] 
b = [["abc", "olnaf", "kjbdsa"], [], []] 
c = [["abc", "aeufga", "älaga"], [], []] 

from collections import Counter 
Counter([i[0] for i in list(zip(a,b,c))[column]]) 

プリント

Counter({'abc': 3}) 
0

あなたが直接セット

a = [["abc", "def", "ghd"], ["1", "2", "3"]] 
b = [["abc", "olnaf", "kjbdsa"], []] 
c = [["abc", "aeufga", "älaga"], ["1", "2"]] 

for i, (a, b, c) in enumerate(zip(a, b, c)): 
    print("Index", i) 
    print(" a & b:", set(a) & set(b)) 
    print(" b & c:", set(b) & set(c)) 
    print(" a & c:", set(a) & set(c)) 

出力あなたのreplieyため

Index 0 
    a & b: {'abc'} 
    b & c: {'abc'} 
    a & c: {'abc'} 
Index 1 
    a & b: set() 
    b & c: set() 
    a & c: {'2', '1'} 
関連する問題