是否有运算符来指定索引"not less than 0"?



To"peek";在当前索引i之前的字符串中的字符处,是否有一行用于避免负索引?我希望n字符在字符串的当前字符索引之前,或者字符串的开头到当前字符。

我的直觉是,我可以把一些简单的东西放在列表操作的同一行,而不是另一行来创建索引。我宁愿避免使用任何库,而且我知道简单的if检查会起作用。。。希望有一个神奇的操作员我错过了。


>>> s = 'ABCDEFG'
>>> s[0:5]
'ABCDE'
>>> s[-5:5]
'CDE'

没有运算符可以执行此操作,但使用max:可以实现相同的效果

>>> s = 'abcdefg'
>>> i = 3
>>> s[max(i - 6, 0):i + 2]
'abcde'

这个怎么样?

s = 'ABCDEFG'
i = 5
n = 3
print(s[max(0, i-n): i])

输出:

CDE

最新更新