gpt4 book ai didi

python - 保留两个列表之间的差异顺序

转载 作者:太空宇宙 更新时间:2023-11-04 03:27:38 24 4
gpt4 key购买 nike

我有两个列表 ll_matchl_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']

你能提出修改建议吗?

最佳答案

只需将 l_match 设为一个集合即可:

l_match = []

st = set(l_match)

print([ele for ele in l if ele not in st])

如果 l 可以让受骗者使用 OrderedDict 从 l 获取唯一值:

from collections import OrderedDict
print([ele for ele in OrderedDict.fromkeys(l) if ele not in st])

显然 l_match 将包含现实世界中的值,或者一个简单的 l[:] = OrderedDict.fromkeys(l) 就足以从 l 中删除重复项 并保持顺序

关于python - 保留两个列表之间的差异顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32384312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com