我有3名列表:的Python:多相交名单列
a = [[abc, def, ghd], [...], ...]
b = [[abc, olnaf, kjbdsa], [...], ...]
c = [[abc, aeufga, älaga], [...], ...]
如何找到基于第一列(例如ABC)的交叉元素?
我想得到一个新的列表与所有三个列表的项目共享,例如'abc'
条目。
问候
克里斯
我有3名列表:的Python:多相交名单列
a = [[abc, def, ghd], [...], ...]
b = [[abc, olnaf, kjbdsa], [...], ...]
c = [[abc, aeufga, älaga], [...], ...]
如何找到基于第一列(例如ABC)的交叉元素?
我想得到一个新的列表与所有三个列表的项目共享,例如'abc'
条目。
问候
克里斯
感谢您repliey直接找到交叉点。我最终用一个Pandas Dataframe和一个感兴趣的列上的内连接做了。
你的意思是串在第一列的第一个项目的出现次数?
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})
可以使用套
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))
输出
Index 0
a & b: {'abc'}
b & c: {'abc'}
a & c: {'abc'}
Index 1
a & b: set()
b & c: set()
a & c: {'2', '1'}
您的意思是基于'abc',您想要显示'a','b'和'c'中的哪些子列表包含此元素? –
请向我们展示您尝试过的内容以及作为特定输入结果而期待的结果... – Roberto