Python代码优化

编辑:光环大数据 来源: 互联网 时间: 2017-10-31 14:46 阅读:

  Python代码优化,1.遍历字典的键和值

#一般的方式

forkind:

printk,'-->',d[k]

在上面的例子中,通过遍历键然后查找相应的值。但这种方法执行速度不快,因为它会调取每一个键,然后再进行查找。

当然,也可以使用如下方法同时获取键和值。

#好的方式

fork,vind.items():

printk,'-->',v

这种方式,使用了元组拆解。所以,当键和值同时被需要时,直接遍历它们,而没有必要再进行查询。此外,items()使列表全部储存在内存中,

这也非必要,如下代码的方式更佳。

#Pythonic的方式:使用iteritems()

fork,vind.iteritems():

printk,'-->',v

2.从两个列表中构造一个字典

#使用zip()

names=['steve','bill','jeff']

org=['apple','microsoft','amazon']

d=dict(zip(names,org))

#Pythonic的方式:使用izip()

fromitertoolsimportizip

d=dict(izip(names,org))

许多人都认为izip在每次迭代时都需要生成一个元组,但这其实是在字典已经利用完元组后的事,在回到生成下一个元组时,前一个元组得到了重

新使用,因此它可以周而复始地使用相同的元组建立字典。

3.用字典计数

#一般的方式

colours=['blue','red','green','red','red','green']

d={}

forcolourincolours:

ifcolournotind:

d[colour]=0

d[colour]+=1

#好的方式:使用get()方法

d={}

forcolourincolours:

d[colour]=d.get(colour,0)+1

#Pythonic的方式:使用defaultdict或者Counter

fromcollectionsimportdefaultdict

d=defaultdict(int)

forcolourincolours:

d[colour]+=1

但是在上述代码中,d是defaultdict的一个对象,d将不得不被转化为一个字典类型,如果打算将d作为一个字典类型使用,才使用这种方法!

 

  Python培训Python培训班Python培训机构,就选光环大数据!

  还不够过瘾?想学习更多?点击 http://hadoop.aura.cn/python/ 进行Python学习!


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();