Python List VS Set

Python List VS Set

Overview

Sets are significantly faster (almost O(1)) when it comes to determining if an object is present in the set (as in x in s), but are slower than lists when it comes to iterating over their contents.

Implemented of Set

So basically a set uses a hashtable as its underlying data structure. This explains the O(1) membership checking, since looking up an item in a hashtable is an O(1) operation, on average.

When people say sets have O(1) membership-checking, they are talking about the average case. In the worst case (when all hashed values collide) membership-checking is O(n). See the Python wiki on time complexity

References

https://stackoverflow.com/questions/2831212/python-sets-vs-lists

https://stackoverflow.com/questions/3949310/how-is-set-implemented/3949350#3949350

猜你喜欢

转载自blog.csdn.net/huochen1994/article/details/81394846