【发布时间】:2018-09-21 20:12:17
【问题描述】:
我有一个代码,我正在努力理解,我需要帮助。
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(...) 将 {} 替换为 ...
这是我的问题:
Q1- 我不明白“对于 x, y in zip(Class_numbers, students_per_class)”。它像 2d for 循环吗?为什么我们需要拉链?我们可以在没有 zip 功能的情况下进行 2d 循环吗?
Q2-我不明白 x:y 是如何工作的!编译器会自动理解 x 和 y 的定义(在“x:y”中)在该行的其余部分(例如 for 循环)中描述?
P.S:我是 MATLAB 专家,但我是 python 新手,有时会很困惑!
Ehsan
【问题讨论】:
-
自称为专家的人通常声称他们知道的比他们知道的多