python何时用list,dict,set
从读取的角度来讲:
看是用来随机读取(查询)还是连续读取。
list数组集中存放,连续读取效率高(具体还没测试,理论上应该如此)。
dict散列表,使用hash计算存放的位置,随机读取效率高。
随机读取可以看下面这篇文章:
Python 中list ,set,dict的大规模查找效率
从插入的角度来讲:
连续插入的话,list连续在尾部append应该比dict不断hash计算key对应的内存位置然后再插入要快一些。但应该不会快太多(具体之后再测试)。
不连续插入的话,自然是dict要快了,而且在使用上也很方便,并且索引(key)不局限于int。
如果使用方式是连续插入,之后经常随机读取,可以考虑先用list插入,再转为dict。反之。