0

我有一个关于我在网上找到的 Python 代码逻辑的问题,该代码可以出色地从成对格式化的列表中定义一个 dict(即:)"one 1/n two 2/n three 3/n"代码是:

dict_number= {term:int(score) for (term,score) in list_number}

List_number 是保存值的列表,我不确定我是否理解 Python 如何理解应该将everyodd 字符串分配为 term 和everyeven 作为值(在这种情况下是该字符串的 int)...... term 和 score在这行代码之前没有被定义,并且python设法理解了这一点......知道这是如何工作的吗?

4

1 回答 1

3

这称为字典推导,在 Python 2.7 中引入。它是一种使用表达式创建字典的简写方式。

写那行的更长的方法是:

dict_number = {}  # an empty dictionary

for term,score in list_number:
    dict_number[term] = int(score)

在 Python 中,没有像其他语言那样使用的变量。在大多数其他语言中,变量是一个“盒子”,可以保存特定类型的值。要在盒子里装东西,首先你必须通过描述类型来创建盒子:

int x;
x = 1;

Python 具有指向值的名称的概念。python 中的“变量”只是一个名称,可以指向任何类型的任何值。只有值有类型,名称没有类型。由于这种灵活性,名称不必提前“初始化”。您只需在需要时使用它们;Python 将负责其余的工作。

于 2013-05-08T06:46:19.693 回答