,两个字符串相减,显示超出数组索引
报错显示:
if self == other:
IndexError: list index out of range
#支持字符串的相减操作:A – B,从 A 中去除所有 B 的子字符串。
def Nstr(self,other):
self = list(self)
other = list(other)
for i in range(len(self)):
for j in range(len(other)):
if self == other:
self.pop(i)
print(self)
me = "".join(self)
a = 'I love FishC.com!iiiiiiii'
b= 'ie'
print(Nstr(a,b))
self.pop(i)不要在遍历列表的时候,对列表进行,删,增操作,一定要,请copy一份,保存。 Stubborn 发表于 2020-5-29 16:43
self.pop(i)不要在遍历列表的时候,对列表进行,删,增操作,一定要,请copy一份,保存。
显示self.pop(each)
IndexError: pop index out of range
#支持字符串的相减操作:A – B,从 A 中去除所有 B 的子字符串。
def Nstr(self,other):
self = list(self)
other = list(other)
code = []
for i in range(len(self)):
for j in range(len(other)):
if self == other:
code.append(i)
print(code)
for each in code:
self.pop(each)
me = "".join(self)
print(me)
a = 'I love FishC.com!iiiiiiii'
b= 'ie'
print(Nstr(a,b))
猪猪虾 发表于 2020-5-29 16:48
显示self.pop(each)
IndexError: pop index out of range
def Nstr(self,other):
temp = ''
for i in self:
for j in other:
if i == j:
break
else:
temp += i
return temp
a = 'I love FishC.com!iiiiiiii'
b= 'ie'
print(Nstr(a,b))
这样就好,没有必要转为列表 Stubborn 发表于 2020-5-29 16:43
self.pop(i)不要在遍历列表的时候,对列表进行,删,增操作,一定要,请copy一份,保存。
改出来了,感谢
#支持字符串的相减操作:A – B,从 A 中去除所有 B 的子字符串。
def Nstr(self,other):
self = list(self)
other = list(other)
code = []
for i in range(len(self)):
for j in range(len(other)):
if self == other:
code.append(i)
code.reverse()
print(code)
for each in code:
self.pop(each)
me = "".join(self)
print(me)
a = 'I love FishC.com!iiiiiiii'
b= 'ie'
Nstr(a,b)
Twilight6 发表于 2020-5-29 16:54
这样就好,没有必要转为列表
感谢
页:
[1]