一个菜鸟问题可能......我正在阅读some code,并对第28行感到疑惑:
if len(files) == 0 or not files[0].endswith(".dcm") or root.find("sax") == -1:
continue
那么为什么左侧的布尔运算等于-1(而不是0)?
答案 0 :(得分:4)
str.find()
会返回-1
,root.find("sax") == -1
正在检查该内容。
如果符合以下条件,该行可能会更具可读性:
if not files or files[0].endswith('dcm') or 'sax' not in root:
答案 1 :(得分:1)
根据https://docs.python.org/2/library/stdtypes.html?highlight=str%20find#str.find
str.find(sub [,start [,end]]) 返回在切片s [start:end]中找到substring sub的字符串中的最低索引。可选参数start和end被解释为切片表示法。 如果未找到sub,则返回-1 。