在字符串列表中移除字符
如果我有一个字符串列表,比如:
[("aaaa8"),("bb8"),("ccc8"),("dddddd8")...]
我该怎么做才能把每个字符串里的所有8
去掉呢?我试过在循环里用strip
或者replace
,但是它们的效果和在普通字符串上用的时候不一样(在列表里的字符串不一样)。有没有人有什么建议?
6 个回答
5
一种更快的方法是把列表合并成一个字符串,然后把8替换掉,再把这个新字符串分开:
mylist = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")]
mylist = ' '.join(mylist).replace('8','').split()
print mylist
12
除了使用循环和列表推导式,你还可以使用map函数。
lst = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")]
mylst = map(lambda each:each.strip("8"), lst)
print mylst
81
试试这个:
lst = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")]
print([s.strip('8') for s in lst]) # remove the 8 from the string borders
print([s.replace('8', '') for s in lst]) # remove all the 8s