我想找到嵌套列表之间的交集,同时保持顺序。
但是原始的顺序没有保留。
在这个例子中,我希望输出结果为“Erwinia”。 谢谢你的帮助。
taxa = [['E_pyrifoliae_Ep1_96', 'Bacteria', 'Proteobacteria', 'Gammaproteobacteria', 'Enterobacteriales', 'Enterobacteriaceae', 'Erwinia'],
['E_amylovora_CFBP1430', 'Bacteria', 'Proteobacteria', 'Gammaproteobacteria', 'Enterobacteriales', 'Enterobacteriaceae', 'Erwinia'],
['E_amylovora_ATCC49946', 'Bacteria', 'Proteobacteria', 'Gammaproteobacteria', 'Enterobacteriales', 'Enterobacteriaceae', 'Erwinia']]
我需要找到交集,我的做法是:
set.intersection(*map(set, taxa))
或者
set(taxa[0]).intersection(*taxa)
但是原始的顺序没有保留。
set(['Erwinia', 'Gammaproteobacteria', 'Enterobacteriaceae', 'Enterobacteriales', 'Proteobacteria', 'Bacteria'])
基本上,我需要做的是找到嵌套列表(它们是分类学分类)之间的最后一个共同元素。因此,我不需要找到所有的交集,只需要找到最后一个或者当我可以调用最后一个条目时找到全部。
intersection_lst[-1]
在这个例子中,我希望输出结果为“Erwinia”。 谢谢你的帮助。