Python如何替换list中的字符

list中的内容有!-*%,.#7&33&,#*#71%,要把这三个字符串里的#替换为A,%换为N,*换为M请问当那三个字符串为一个list如何才能将所有#%*替换为所想... list中的内容有!-*% , .#7&33& , #*#71%, 要把这三个字符串里的#替换为A,%换为N,*换为M
请问当那三个字符串为一个list如何才能将所有# % *替换为所想的字母呢?
请用正则表达式 就是在python里大的代码 然后按F5 可以运行的那样 非常感谢!!!
展开
 我来答
yugao1986
推荐于2016-09-28 · TA获得超过1129个赞
知道小有建树答主
回答量:449
采纳率:100%
帮助的人:156万
展开全部

利用re库进行正则表达替换,python3.4中

import re

a = ["123" , "456" , "789"]
d = {"B":"2","E":"5","H":"8"}
b = ",".join(a)
print (b)

for i in d.keys():
    b = re.sub(d[i],i,b)
print (b.split(","))
zhuizhuzhang
推荐于2018-02-27 · TA获得超过792个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:189万
展开全部
import re

a = ["!-*%" , ".#7&33&" , "#*#71%"]
d = {"A":"#","N":"%","M":"\*"}
b = ",".join(a)
print b

for i in d.keys():
b = re.sub(d[i],i,b)
print b.split(",")
更多追问追答
追问
非常感谢!但是split只把每个字符串分开 但是还是在一行里 那有没有一个代码可以让他们一个一行的显示呢?thx
追答
将最后的print b.split(",")
改为:
for single_b in b.split(","):
print single_b
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-11-02
展开全部
[str(j) for j in list if j]使用列表解析处理下这样的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
学派
2014-11-03 · TA获得超过446个赞
知道小有建树答主
回答量:465
采纳率:100%
帮助的人:261万
展开全部

假定list为 x

x = [c.replace('#','A') for c in x]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-11-02
展开全部
For s in list: for c in s: if c ==...这样呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式