首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何避免在for循环中声明未使用的变量?

如何避免在for循环中声明未使用的变量?
EN

Stack Overflow用户
提问于 2011-03-30 02:26:01
回答 9查看 36.6K关注 0票数 94

如果我有一个这样的列表理解(例如):

代码语言:javascript
复制
['' for x in myList]

有效地创建了一个新列表,该列表中的每个元素都有一个空字符串,因此我从不使用x。有没有一种更干净的方式来写这段代码,这样我就不必声明未使用的x变量?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-03-30 02:27:44

_是for循环和元组赋值中被忽略成员的标准占位符名称,例如

代码语言:javascript
复制
['' for _ in myList]

[a+d for a, _, _, d, _ in fiveTuples]

顺便说一句,你的列表可以在没有列表理解的情况下编写(假设你想创建一个不可变成员的列表,比如字符串、整数等)。

代码语言:javascript
复制
[''] * len(myList)
票数 139
EN

Stack Overflow用户

发布于 2011-03-30 02:28:34

不是的。正如禅宗所说:特殊情况还不足以打破规则。特殊情况是循环不使用正在迭代的对象的项,规则是有一个“目标”可以解包。

但是,您可以使用_作为变量名,这通常被理解为“故意不使用”(甚至连PyLint等都知道并尊重这一点)。

票数 19
EN

Stack Overflow用户

发布于 2015-03-13 03:43:21

事实证明,使用dummy* (起始词是dummy)作为变量名可以实现与_相同的功能。_是一个已知的标准,最好使用有意义的变量名。所以你可以使用dummydummy1dummy_anything。通过使用这些变量名,PyLint不会抱怨。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5477134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档