python for循环中的赋值可能吗?
我有一本字典 d
(和一个单独的排序键列表,keys
)。我希望循环只处理值为 False 的条目 - 所以我尝试了以下操作:
for key in keys and not d[key]:
#do foo
我想我对 python sytax 的理解不是我想象的那样 - 因为分配不应该发生上面,ai 得到一个实例化错误。
下面的代码当然可以工作,但我真的很希望能够使用上面的代码之类的东西..可能吗?
for key in keys:
if d[key]: continue
#foo time!
谢谢!
I have a dictionary d
(and a seperate sorted list of keys, keys
). I wanted the loop to only process entries where the value is False
- so i tried the following:
for key in keys and not d[key]:
#do foo
I suppose my understanding of python sytax is not what i thought it was - because the assignment doesnt suppose to have happened above, and a i get an instanciation error.
The below works of course, but I'd really like to be able to use something like the code above.. possible?
for key in keys:
if d[key]: continue
#foo time!
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为此使用 Genex。
Use a genex for this.
如果你的字典是相反的(当值应该被扫描时为真)你可以使用:
If you dict was opposite (True iff the value should be scanned) you could use:
itertools 通常提供将功能打包到迭代中的最佳方法(==循环;-)。
itertools
often offers the best ways to pack functionality into iterations (==loops;-).