如果我有一个这样的列表理解(例如):
['' for x in myList]
有效地创建了一个新列表,该列表中的每个元素都有一个空字符串,因此我从不使用x
。有没有一种更干净的方式来写这段代码,这样我就不必声明未使用的x
变量?
发布于 2011-03-30 02:27:44
_
是for循环和元组赋值中被忽略成员的标准占位符名称,例如
['' for _ in myList]
[a+d for a, _, _, d, _ in fiveTuples]
顺便说一句,你的列表可以在没有列表理解的情况下编写(假设你想创建一个不可变成员的列表,比如字符串、整数等)。
[''] * len(myList)
发布于 2011-03-30 02:28:34
不是的。正如禅宗所说:特殊情况还不足以打破规则。特殊情况是循环不使用正在迭代的对象的项,规则是有一个“目标”可以解包。
但是,您可以使用_
作为变量名,这通常被理解为“故意不使用”(甚至连PyLint等都知道并尊重这一点)。
发布于 2015-03-13 03:43:21
事实证明,使用dummy*
(起始词是dummy)作为变量名可以实现与_
相同的功能。_
是一个已知的标准,最好使用有意义的变量名。所以你可以使用dummy
,dummy1
,dummy_anything
。通过使用这些变量名,PyLint
不会抱怨。
https://stackoverflow.com/questions/5477134
复制相似问题