这两个陈述是否相同?
if row[1].upper().find(brand)!=-1:
Run Code Online (Sandbox Code Playgroud)
和
if row[1].upper().find(brand):
Run Code Online (Sandbox Code Playgroud)
不,他们不平等.在Python中,任何非零数字都被视为True,因此如果表达式的计算结果为-1,则第二个语句将被视为true;如果表达式的计算结果为0,则第二个语句将被视为false(当它应为true时).
使用第一个语句.
正如其他人所说的那样,这些陈述并不等同.然而,当你只需要找到,如果在子存在的,而不是在那里,我更喜欢的in运营商,而不是.find(),如:
if brand in row[1].upper():
Run Code Online (Sandbox Code Playgroud)
这相当于第一个语句,但更简洁易读.
| 归档时间: |
|
| 查看次数: |
372 次 |
| 最近记录: |