我是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()
不移除前缀。它一次删除一个字符,前提是该字符在参数中命名为:改为删除前
len(test)
个字符:这是因为lstrip会从给定的集合中删除所有左侧字符,因此会删除所有字符:
我认为你需要:
这将从
pro
的开头删除test
(如果有的话)。你知道吗lstrip(chars)
返回字符串的一个副本,其中所有字符都已从字符串开头剥离。因此,如果传递包含1,0的test
,它将从pro
(pro
中删除所有字符,这些字符只包含0,1)。你知道吗相反,您可以使用切片:
相关问题 更多 >
编程相关推荐