原题如下:输入2个字符串,从第一个字符串中删除第二个字符串中的所有字符
输入 'They are students'
'aeiou'
输出:Thy r stdnts
(如果是你,你第一时间想到的是用什么方法呢?)
当时使用的方法如下,因为想到字符串没有删除的方法(后面才发现使用替换的方法可以达到删除的效果),而且需要有序,所以选择转换为列表,然后操作后,再转换回来:
# 临场使用的方法如下:
s1 = 'They are students'
s2 = 'aeiou'
L1 = s1.split()
L = []
for i in L1:
L2 = list(i)
for j in i: # 注意:此次不能通过遍历L2,因为列表是可变的,后面的remove会有影响
if j in s2:
L2.remove(j)
L.append(''.join(L2))
print(' '.join(L))
# 后面发现可以直接使用字符串的 replace 方法,更简便。
s = s1
for i in s1:
if i in s2:
s = s.replace(i, '') # 替换后,返回的是一个新字符串,保留原字符串s1不变
print(s)
# 还可以是用字符串累加的方式,也很方便
s = ''
for i in s1:
if i not in s2:
s += i
print(s)