gpt4 book ai didi

Python:从有序列表中删除不在无序列表中的条目

转载 作者:太空狗 更新时间:2023-10-30 01:55:34 25 4
gpt4 key购买 nike

我有两个列表:

ordered = ['salat', 'baguette', 'burger', 'pizza']
unordered = ['pizza', 'burger']

现在我想从有序列表中删除所有不在无序列表中的条目,同时保留顺序。

我该怎么做?

最佳答案

ordered = [item for item in ordered if item in unordered]

此方法使用 Python 的列表推导式基于旧列表创建新列表。

对于大量数据,首先将无序列表转换为集合,正如人们在评论中所建议的那样,会对性能产生巨大影响,例如:

unordered = set(unordered)

基准!

ordered: 5000 items, unordered: 1000 items
0.09561s without set
0.00042s with set

对于 10/2 项,时间几乎相同,因此无论数据大小如何,始终使用集合是很好的。

关于Python:从有序列表中删除不在无序列表中的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9244768/

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