我正在尝试从我的字符串 ( mirror) 中删除内容,但我遇到了以下问题。我试图将我指向的字符串部分放在里面int()。for i in mirror:
if mirror[i] == '\\':
mirror = mirror[i:i+2]
2 回答

泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
如果您尝试从字符串中删除字符,我可能会建议replace()而不是迭代字符串:
>>> a = 'abc//123'
>>> a.replace('//', '')
abc123
>>> b = a.replace('//', '')
>>> a
abc//123
>>> b
abc123
你得到一个TypeError因为i是一个str,而不是一个int。观察线for i in mirror-mirror是一个str,所以每个字符i也是mirror一个str。然后,您尝试使用str无效的 a 索引您的字符串,从而导致 a TypeError。

三国纷争
TA贡献1804条经验 获得超7个赞
字符串是可迭代的,所以当你输入这个时:
for i in "string":
print i
你会得到这个
s
t
r
i
n
g
如果要获取字符串的索引,请使用enumerate
for i, c in enumerate("string"):
print i,c
结果是:
0 s
1 t
2 r
3 i
4 n
5 g
添加回答
举报
0/150
提交
取消