Python for循环中“速记字母”的含义?

时间:2013-12-16 20:54:00

标签: python

在很多例子中,我看到了我简单称为速记操作符的内容。大多数情况下,它们出现在循环中并列出相关的函数。我没有找到解释它们是什么或它们含义的资源。这些字母在Python中代表什么?

for x in list:
for i in range(10):
for c in "hello, world":

我在谈论for之后的单个字母:xic和其他字母。

2 个答案:

答案 0 :(得分:3)

那些不是运算符,它们是迭代变量。循环的要点是将该变量顺序绑定到可迭代的值(在您的示例中称为list)。

它们可以有任何名称,而不会影响程序语义(仅仅因为名称)。请注意,它们是引入范围的正常变量,因此将受global声明的影响,并在退出循环后生效。

答案 1 :(得分:1)

虽然在for循环中用于迭代变量的名称完全取决于您,正如Marcin所说,我将添加经常使用的单字母名称,并且某些名称已围绕它们制定了约定。虽然通常使用简短的名字是令人不悦的,因为它们可能是神秘的,循环的主体通常足够短,你不会忘记它们的含义,并且它们将在循环中经常被引用,所以你节省了一些打字。 / p>

示例可能包括ijk索引,x作为常规占位符(也是xy,和z对于笛卡尔坐标),t表示时间或元组(例如,当迭代元组列表时;在迭代序列列表时,您可能也会看到d,{{1}对于一个对象列表),o表示字符,c表示字符(例如,当迭代字符串时),或wk表示迭代时的键和值通过字典的项目。

您可能还会看到v(单个下划线)用于未使用的迭代变量,例如在_之类的列表解析中,它会创建五个不同于同一对象的新列表。你需要一个迭代变量来接收来自[[] for _ in range(5)]的值,但是循环的要点是执行它五次,而不是对这些值做任何事情。