Underscore _作为Python中的变量名可以吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (176)

Peter Norvig撰写了一篇文章,描述了一个通过结合确定性逻辑运算和智能遍历可能解决的程序。:

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]
            )

在非交互式代码中是否有类似的功能?

提问于
用户回答回答于

在今天的Python中,不应该这样做了:

_,s = min( (len( values[s]), s) 
            for s in squares 
            if len(values[s]) > 1
        )

你应该这样的方式来:

s = min((s for s in squares if len(values[s])>1), 
        key=lambda s: len(values[s]))
用户回答回答于

在非交互模式下_没有特别的意义。Offtopic:Norvig的那篇文章非常好。建议阅读。

扫码关注云+社区

领取腾讯云代金券