在字符串列表中移除字符

37 投票
6 回答
250206 浏览
提问于 2025-04-17 07:08

如果我有一个字符串列表,比如:

[("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 

撰写回答