我是一个初学者,刚开始学习Python。我在这里阅读了文档rstrip
和其他一些问题,但是仍然对它的rstrip
工作原理感到困惑。
我可以理解string.rstrip()的工作方式,例如:
INPUT: ' spacious '.rstrip()
OUTPUT: ' spacious'
也明白这一点:
INPUT: "ABBA".rstrip("AB")
OUTPUT: ''
但请注意以下几点:
INPUT: "AABAA".rstrip("A")
OUTPUT: 'AAB'
问题是为什么它的输出AAB
不是B
?因为我觉得AA
在字符串的开头和AA
结尾处都是A
对于这个:
INPUT: "ABCABBA".rstrip("AB")
OUTPUT: 'ABC'
对这一问题的疑问是为什么它的输出不是C
?我的想法是AB
在开始时,AB
在中间时,BA
在最后时都应删除。
感谢您抽出宝贵的时间回答我的问题!
让我们使用您所了解的内容,让您了解自己不了解的内容。
INPUT: ' spacious '.rstrip()
OUTPUT: ' spacious'
在这里,该rstrip()
函数将获取您的字符串并从背面删除所有不需要的字符。(rstrip
不同于strip
在rstrip被逆转-它从后面开始)在这种情况下,你没有通过任何说明什么夺走字符串,所以它默认为“所有空白。” 因此,它的工作是从字符串的末尾开始,并删除所有空格。它一到达非空白就停止,这就是为什么结果是的原因' spacious'
。
继续前进,这是怎么回事?
INPUT: "AABAA".rstrip("A")
OUTPUT: 'AAB'
在这里,您要将参数传递给rstrip。该字符串是要删除的所有内容的列表。在这种情况下,"A"
告诉它剥去只从字符串后面的字母A。与前面的示例一样,rstrip碰到一个不会丢掉的字符时就会停止。因此,它停在“ B”上,就像之前的rstrip停在最右边的字母上一样s
。
那应该使最后的例子有意义。这里,
INPUT: "ABCABBA".rstrip("AB")
OUTPUT: 'ABC'
您正在告诉rstrip删除字符串中的任何结尾A
或B
结尾。这样做,并在您不剥离的第一个字符处停止,在本例中为C
。与往常一样,一旦停止,它会将所有内容留在原来的位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句