if(i-words < 0):
start_point = 0
else:
start_point = i - words
或者这是使用min / max的最简单方法吗?这是用于列表拼接的。
我希望start_point始终为0或更高。
答案 0 :(得分:10)
更好的是使限制更明显
start_point = max(i - words, 0)
这样,任何阅读者都可以看到你限制了一个值。
使用任何形式的if
都有一个缺点,就是你计算两次i - words
。使用临时文件会使更多代码膨胀。
因此,在这些情况下使用max
和min
。
答案 1 :(得分:1)
怎么样
start_point = 0 if i - words < 0 else i - words
或
start_point = i - words if i - words < 0 else 0
甚至更好,最清晰的方式:
start_point = max(i - words, 0)
正如Mihai在评论中所说,最后一种方式不仅更清晰地读写,而且只评估一次值,如果它是一个函数调用,这可能很重要。