欢迎光临散文网 会员登陆 & 注册

选择 in 列表(list),还是 in 集合(set)

2023-07-29 08:38 作者:Mr蓝珲  | 我要投稿

使用 Python,想要知道一个元素是否在一个 Container 中,可以用 in 操作符,非常方便。


基本用法:


- 判断 x 是否在列表 L 中: 使用 x in L

- 判断 x 是否在列表 L 中: 使用 x in S


x in S 返回结果远远快于 x in L。考虑 1000 万个字符串, 每个字符串有 32 个字符, x in L 需要 0.325 秒,所花时间是 x in S 的 17 万倍,相当惊人。


['IHMZGTHMIJMGQDICOANOSHXPPVKFLROO', 'VSIRJELNHPEQGYXHFLKPCRWOTQRXLCZV', ...]


所以毫无疑问,应该用集合(Set)中的 in。


但是,如果这 1000 万个字符串原先以列表的形式存储,将其转化为集合是需要花时间的,需要 0.673 秒。所以,在这种情况下,如果 in 只做一次,那么就不值得先将列表转化为集合。


实验代码


选择 in 列表(list),还是 in 集合(set)的评论 (共 条)

分享到微博请遵守国家法律