我有一个包含大约 50 个字符串的列表。我会反复(可能数万次)需要知道列表中项目的位置。是每次都使用 list.index()
更好,还是创建一个字典将每个项目映射到它的位置? (我的直觉是创建字典,但我不知道列表索引的基础是什么,它可能是多余的。)
最佳答案
list.index()
将遍历列表,直到找到它要查找的项目,这是一个线性时间操作。相比之下,在字典中查找字符串是一个常量时间操作,因此字典方法可能具有更好的性能。
由于您的键是字符串并且您拥有的键相对较少,因此您可能想要探索的另一种数据结构是 trie .
关于Python list.index() 与字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28037061/