python中有两种方法创建dict类

显式

foo.update(dict(a= 1, b='2'})

隐式

foo.update({'a': 1, 'b': '2'})

最近在写一个爬虫的时候碰到一个问题,dict的key是系统的保留字from
于是在stackoverflow上找到了答案。对于这类情况,只能使用隐式方法创建dict类

foo.update({'from':1,'d':2})

显式方法只能适用于key为普通字符串的情况,任何包含标点,空格,unicode代码的key都必须用隐式方法产成dict类。并且,相比于显式方法,隐式方法更有速度优势

1 Timer("mydict={'d':33};mydict.update({'a':1,'b':2,'c':'three'})").timeit()
2 0.49397110939025879
3 Timer("mydict={'d':33};mydict.update(dict(a=1,b=2,c='three'))").timeit()
4 0.70566201210021973

当然如果程序的瓶颈已经到了这一步的话还不如换其他语言了。
所以,再写程序的时候尽量保持一致风格就成。