初学蟒蛇,是否有人可以解释我的下面的语句我有一个代码,我必须了解发现的含义是: -我们可以将多个搜索条件放在python列表的同一个循环中吗?
for _,s in self.current_links:
那么一些行动,比方说。
“current_links”是一个列表在这里。之后我无法弄清楚“_”的意义。我们可以为相同的循环放置多个条件吗?该声明是否意味着在列表中搜索_ &,然后继续?
初学蟒蛇,是否有人可以解释我的下面的语句我有一个代码,我必须了解发现的含义是: -我们可以将多个搜索条件放在python列表的同一个循环中吗?
for _,s in self.current_links:
那么一些行动,比方说。
“current_links”是一个列表在这里。之后我无法弄清楚“_”的意义。我们可以为相同的循环放置多个条件吗?该声明是否意味着在列表中搜索_ &,然后继续?
_
这里只是另一个变量。
_
将保存列表的索引并且s
将保存列表的值。
如果OP的代码使用'enumerate',这将是有意义的 - 但是,它不是,即使它是 - 丢弃索引也没有意义 - 你只是不会使用'enumerate'开头。 –
是的你的权利。 –
在这种情况下,它看起来更像self.current_lines
是真实被解开的2项,第一项是使用_
命名约定以表明它不是真正需要的,如:
items = [ [1,2], [3,4], [5,6] ]
for _, item in items:
print item # Gives 2 4 6
所以上述工作采取的每个项目在列表中,如[1,2]
然后在赋值的左拆包的变量 - _
和item
:_
得到价值1
和item
得到值2
...的_
被指示这不是必需的。
然而,有时_
用于gettext
和相似的,所以为了避免混乱的命名空间和潜在的出碴,最多,它也可以写为:
for item in (item[1] for item in items):
print item
解包到一个占位符变量通常更具可读性,但是因为'_'被用于很多事情,所以我倾向于为'_dontcare,item in ...'做类似的事情。或者,第二个示例的更简化版本是'for map in map(operator.itemgetter(1),items)' – SingleNegationElimination
_这里只是另一个变量。 –