采用replace(),但是出来的结果还是没有变,我写的如下:
def clen_list(m):
if m.isalpha() != True:
for i in range(0,10):
m.replace("i","") and m.replace("/","") and m.replace("_","")
return m
coffeList=['32Latte','_Americano30','/34Cappuccino','Mocha45']
aList=[]
for item in coffeList:
t=clen_list(item)
aList.append(t)
print(aList)
谢谢~
字符串对象的replace操作,是返回一个替换后的结果,而不是对原字符串对象进行修改,因此你需要把替换后的结果赋值给某个变量才行
str.replace()非原址修改,而是返回修改后的字符串(主要问题)
m.replace("i", "")后m并未改变
import string
def clean_list(l = []):
r = [[j for j in i if j in string.ascii_letters] for i in l]
return [''.join(i) for i in r]
if __name__ == "__main__":
ll = ['32Latte', '_Americano30', '/34Cappuccino', 'Mocha35']
for idx,con in enumerate(clean_list(ll), 1):
print(idx,' ', con)