慎用if x

2025718日 星期五

08:36

遇到了个bug

代码逻辑:

 def  find_min_levenston_distance(x,y):

        start,end = None,None #初始值

        ……

        start,end = idx1,idx2

       

start,end = find_min_levenston_distance(x,y)

 

我本想判断的是,如果 start是None,就做操作A,如果start不是None,就做操作B,于是我这么写的:

 if start

   操作A

 else

   操作B

 

这里有bug,如果start是0,匹配到的字符串起始索引是0,那么也会和None一样,进行操作A

 

总结0和空列表【】都相当于False,不要认为只有None才是False,if 判断中要显式指定if x=None

 

已使用 OneNote 创建。