我有一个我想理解的代码,我需要帮助.
import numpy as np
Class_numbers=np.array(['a','b','c'])
students_per_class=np.array([10,20,30])
print("Students counts per class:\n{}".format(
{x: y for x, y in zip(Class_numbers, students_per_class)}))
输出:
Students counts per class:
{'a': 10, 'b': 20, 'c': 30}
我的理解:
1-我们使用{}和.format(…)将{}替换为…
这是我的问题:
问题1-我不了解“对于zip中的x,y(类别编号,学生人数_类别)”.像2D for循环吗?为什么我们需要拉链?我们可以使用不带zip功能的2d循环吗?
Q2-我不明白x:y的工作原理!编译器会自动了解x和y的定义(在“ x:y”中)已在其余行中描述(例如for循环)?
P.S:我是MATLAB方面的专家,但是我是python的新手,有时会很混乱!
伊赫桑
解决方法:
Q1:zip用于将2个列表合并在一起.它返回每个列表的第一个元素,然后返回每个列表的第二个元素,依此类推.这是将两个列表视为键和数据以创建字典的技巧.
Q2:这是一个字典(哈希),使用一种称为“ dict comprehension”的方法.它创建显示为输出的字典.如果分配给变量d,则d [‘a’] = 10,依此类推.
标签:python,for-loop,zip 来源: https://codeday.me/bug/20191012/1902474.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。