dai*_*yue 11 python boolean list pycharm python-3.x
我有以下代码重现PyCharm警告,
表达式可以简化
此表达式检测与布尔文字的相等性比较.
seq_group = []
if seq_group == []: # warning here
print("it is empty.")
Run Code Online (Sandbox Code Playgroud)
如果我将代码更改为,
if seq_group is None:
Run Code Online (Sandbox Code Playgroud)
将修复警告,但真正的问题是None和[]emplty列出相同的事情?
干杯
Jim*_*ard 10
是
None和[]空列表相同的事情?
不,这将导致错误的行为:
seq_group = []
if seq_group is None:
print("it is empty")
Run Code Online (Sandbox Code Playgroud)
这不打印任何东西,None完全不同[],价值和身份明智.None表示没有值,[]表示没有值的列表.混淆可能源于这两个事件都恰好False在条件下进行评估.
该警告可能是由于这一事实,你可以简单地使用seq_group与not而是采用了字面==:
if not seq_group:
print("it is empty")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6454 次 |
| 最近记录: |