我是 python 初学者。 我写了这段代码,但它无法成功运行。 有人能理解为什么吗?
if __name__ == '__main__':
# if "pro" begin with "test", delete "test" from "pro".
pro = "001001111010010101001"
test = "0010"
if pro.startswith(test):
pro = pro.lstrip(test)
# My ideal -> pro == "01111010010101001"
print pro
print pro
此代码不输出任何内容。
请您参考如下方法:
str.lstrip() 删除出现在您给它的字符集中的所有字符。由于您在该集合中同时提供了 0 和 1,并且该字符串由仅 0 和 1 组成,因此您删除了整个字符串。
换句话说,str.lstrip() 不会删除前缀。它一次删除一个字符,前提是该字符在参数中命名:
>>> '0123'.lstrip('0')
'123'
>>> '0123'.lstrip('10')
'23'
>>> '0123'.lstrip('20')
'123'
改为删除第一个 len(test) 个字符:
pro = pro[len(test):]
