首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python中的下划线_ as变量名

Python中的下划线_ as变量名
EN

Stack Overflow用户
提问于 2009-11-16 08:45:21
回答 2查看 45.7K关注 0票数 70

Peter Norvig有一篇文章描述了一个program to solve sudoku puzzles,通过组合确定性逻辑操作和智能遍历可能的解决方案,即使是最困难的解决方案。后者是递归完成的;下面是该函数(source):

代码语言:javascript
复制
def search(values):
    "Using depth-first search and propagation, try all possible values."
    if values is False:
        return False ## Failed earlier
    if all( len( values[s]) == 1 for s in squares): 
        return values ## Solved!
    ## Chose the unfilled square s with the fewest possibilities
    _,s = min( (len( values[s]), s) 
                for s in squares 
                if len(values[s]) > 1
            )
    return some( search( assign( values.copy(), s, d)) 
                for d in values[s]
            )

(为了保护我的眼睛,我添加了一些空格、CRs和制表符;向Norvig博士道歉。)

在评论的正下方有一行以"_,s“开头。这似乎是s值最小的未打包元组(len(values[s]),s)。Norvig博士使用"_“作为变量名仅仅是为了表明这是一个”无关“的结果,还是发生了其他事情?有没有推荐使用"_“作为变量名的情况?在交互模式下,"_“保存上一次操作的答案;在非交互代码中是否有类似的函数?

更新

谢谢你的好答案。我猜答案是Alex Martelli的“增值”;他指出,"_,vbl_of_interest“成语通常是DSU成语的副作用,而这种成语本身在很大程度上是不必要的。

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

https://stackoverflow.com/questions/1739514

复制
相关文章

相似问题

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