【发布时间】:2015-11-29 19:13:19
【问题描述】:
我有两个列表 l 和 l_match。 l_match 是一个空列表。
l = ['gtttaattgagttgtcatatgttaataacg',
'tttaattgagttgtcatatgttaataacgg',
'ttaattgagttgtcatatgttaataacggt',
'taattgagttgtcatatgttaataacggta',
'aattgagttgtcatatgttaataacggtat']
l_match = []
print list(set(l) - set(l_match))
给出输出
['aattgagttgtcatatgttaataacggtat',
'tttaattgagttgtcatatgttaataacgg',
'ttaattgagttgtcatatgttaataacggt',
'taattgagttgtcatatgttaataacggta',
'gtttaattgagttgtcatatgttaataacg']
我希望输出的顺序与输入的顺序相同。即在上述情况下,输出 应该是
['gtttaattgagttgtcatatgttaataacg',
'tttaattgagttgtcatatgttaataacgg',
'ttaattgagttgtcatatgttaataacggt',
'taattgagttgtcatatgttaataacggta',
'aattgagttgtcatatgttaataacggtat']
您能提出修改建议吗?
【问题讨论】:
-
python中的集合不保证顺序
-
set([])与set()相同,任何减去空集的东西就是它自己。你想做什么? -
那么,您想要
l中所有不在l_match中的元素吗?
标签: python list set set-difference