首页 新闻 会员 周边 捐助

python字符串replace方法

0
悬赏园豆:30 [待解决问题]

image.png

不太明白txt调用replace方法后,赋值给txt 和 txt_new,
这两段代码会产生不同的结果。

Wenkang的主页 Wenkang | 初学一级 | 园豆:166
提问于:2022-03-18 11:04
< >
分享
所有回答(4)
0

你为啥不在 for 内,实时打印 txt 呢

〆灬丶 | 园豆:2314 (老鸟四级) | 2022-03-18 11:22
0

你一个是 每次 都用 txt 来进行 循环去除
这样 每次 都是 旧的
这段文字,
最后一次循环 也是把旧的去除了
如:

1,2,3,4,5
12,3,4,5
1,23,4,5
1,2,34,5
1,2,3,45
第一段程序大致运行结果是这样
所以你拿到的是 1,2,3,45

第二段代码
每次 去除了,然后 把新的值继续去除
就好比

1,2,3

第一次 12,3

第二次 是 一12,3 来基础 replace ,而不是 以 1,2,3 来 replace
这样的结果就是
123

永远跟党走i | 园豆:1542 (小虾三级) | 2022-03-19 12:33
0

想要理解为何回出现两种不同的答案,首先需要知道这组代码是怎么运行的
IN[35] 段代码中,txt在replace后赋值给新变量txt_new,由于for循环遍历字符串就是逐个取单元素,自然循环结束时最后一个replace替换的字符串就是?txt_new在循环中不断被重复赋值直至循环结束,
故最终结果等同于
txt_new = txt.replace("?","")
由于将结果赋值给新的变量,并未改动到原有的txt,所以txt的结果保持不变

IN[36]段代码中
由于遍历后将结果赋值给原有变量的,所以txt的值在每次循环之后都会替换成新的赋值,这点你可以参考下自增和自减那样的操作。
可打印遍历过程如下:
删除这个“文本”中的。中文?标点符号
删除这个“文本”中的中文?标点符号
删除这个文本”中的中文?标点符号
删除这个文本中的中文?标点符号
删除这个文本中的中文标点符号

以上便是对该问题的解答

ImpReeves | 园豆:202 (菜鸟二级) | 2022-04-04 16:56
0
x = 5
y = x + 5
>>> print(x) 
5
>>> print(y)
10

x = 5
x = x + 5
>>> print(x)
10
开心宝贝的爸爸 | 园豆:99 (初学一级) | 2022-04-28 18:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册