gpt4 book ai didi

python - 为什么 .rstrip() 有时有效但有时无效?

转载 作者:行者123 更新时间:2023-11-28 20:30:13 27 4
gpt4 key购买 nike

我是初学者,刚开始学习 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() 函数获取您的字符串并从后面删除所有不需要的字符。 (rstripstrip 的不同之处在于 rstrip 是反向 - 它从后面开始。)在这种情况下,您没有通过任何指示要去除的内容的字符串,因此它默认为“所有空白”。所以,它所做的是从字符串的后面开始,并删除所有空格。它一碰到非空白区域就会停止,这就是为什么结果是 'spacious' 的原因。

继续,这里发生了什么?

INPUT:     "AABAA".rstrip("A")
OUTPUT: 'AAB'

在这里,您将参数传递给 rstrip。该字符串是要剥离的所有内容的列表。在本例中,"A" 告诉它从字符串的后面去掉字母 A。与前面的示例一样,rstrip 在遇到不能丢弃的字符时立即停止。因此,它停在“B”上,就像前面的 rstrip 停在最右边的字母 s 上一样。

这应该使最后一个例子有意义。这里,

INPUT:     "ABCABBA".rstrip("AB")
OUTPUT: 'ABC'

您是在告诉 rstrip 从字符串中删除任何尾随 AB。它确实如此,并且在您不剥离的第一个字符处停止,在本例中为C。像往常一样,一旦它停止,它就会让左边的一切保持原样。

关于python - 为什么 .rstrip() 有时有效但有时无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58139790/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com