A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡俊凯 初级黑马   /  2019-10-25 21:22  /  2755 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 胡俊凯 于 2019-10-25 21:24 编辑

循环中出现的问题
    str1= "张三,2.2/李四;23,王。五、4;0"
   for k in ",./; ,。、; ":
       str2 = (str1.replace(k,''))
    list2 = list(str2)
print(list2)
结果:
张三,2.2/李四;23,王。五、4;0
原因:
   str2 =(str1.replace(k,''))中每循环一次,被替换的对象都是最原始的那个,所以结果只有最后一轮的替换才是最终输出结果
正确方法如下:
   
for k in ",./; ,。、; ":
     str1 = (str1.replace(k,''))
list2 = list(str1)
print(list2)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马