Is there any performance advantage to using lists over dictionaries over tuples in Python?
If I’m optimising for speed, is there any reason to prefer one over another?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Rich,
Lists and dicts are beasts suitable for different needs. Make sure you don’t use lists for linear searches where dicts hashes are perfect, because it’s way slower. Also, if you just need a list of elements to traverse, don’t use dicts because it will take much more space than lists.
That may sound obvious, but picking the correct data structures algorithmically has much higher performance gains that micro-optimization due to more efficient compiled code layouts, etc. If you search in a list in O(n) instead of in a dict in O(1), micro-optimizations won’t save you.