python系列教程155——zip与字典

朋友们,如需转载请标明出处:blog.csdn.net/jiangjunsho…

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

当键和值的集合必须在运行时计算时,zip调用也可用于产生字典,并且使用非常方便。

下面是普通创建字典的方式。

>>> D1 = {'spam':1,'eggs':3,'toast':5}

>>> D1

{'toast': 5,'eggs': 3,'spam': 1}


>>> D1 = {}

>>> D1['spam'] = 1

>>> D1['eggs'] = 3

>>> D1['toast'] = 5
复制代码

如果你的程序是在脚本写好后,在运行时获得字典键和值的列表,那该怎么做呢?例如,假设你有下列的键和值的列表:

>>> keys = ['spam','eggs','toast']

>>> vals = [1,3,5]
复制代码

将这些列表变成字典的一种做法就是将这些字符串zip起来,并通过for循环并行步进处理。

>>> list(zip(keys,vals))

[('spam',1),('eggs',3),('toast',5)]




>>> D2 = {}

>>> for (k,v) in zip(keys,vals): D2[k] = v

...

>>> D2

{'toast': 5,'eggs': 3,'spam': 1}
复制代码

另外,在Python 2.2和后续版本中,你可以完全跳过for循环,直接把zip过的键/值列表传给内置的dict构造函数。

>>> keys = ['spam','eggs','toast']

>>> vals = [1,3,5]




>>> D3 = dict(zip(keys,vals))

>>> D3

{'toast': 5,'eggs': 3,'spam': 1}
复制代码

Guess you like

Origin juejin.im/post/7069588964973215781