【问题标题】:Find and replace not changing list [duplicate]查找和替换不更改列表[重复]
【发布时间】:2020-04-07 23:50:35
【问题描述】:

这是我的列表,我想将出现的 'b' 更改为 'z',然后打印。但是当我执行下面的代码时,它会打印回我的原始列表,问题是什么,没有语法错误,一些逻辑错误,我无法识别。

x = ['1','2','3','4','a','b','b','c','b','b']

for i,y in enumerate(x):
    if y == 'b':
        x[i] = 'z'  # I tried x.append('z'), as well
    else:
        break
print(x)

【问题讨论】:

  • 删除 else 条件。它在索引 0 处打破循环
  • 请参阅how to debug。几个简单的print 语句将显示循环的操作。
  • thx Prune,我是一个完全的新手,除了 Udemy 课程之外没有任何帮助,甚至无法理解调试在 pycharm 中的工作原理,因此回到了 Jnotebook。在发帖之前我就知道这是一个更友善的花园东西,但是udemy没有回复,所以不得不在Ph.d标准门户中发帖。我的道歉,是的,我非常理解这一点,如果您允许此类查询,您的网站将被无聊的问题堵塞,您最终会教书。 thx 对于调试工具的提示让我尝试使用它们...干杯...

标签: python list


【解决方案1】:

改为这样做

for i,y in enumerate(x):
    if y == 'b':
        x[i] = 'z'
print(x)

break 跳出循环并完全停止。

【讨论】:

  • 是的,首席它工作了,谢谢很多,所以我不应该使用 Break if else?只是暂时,对吗?
  • 你可以这样做,这取决于情况。在这种情况下,您想替换每个出现的字母,因此您需要检查每个元素。但是,如果您只想搜索给定的元素,那么一旦找到它就会中断。
猜你喜欢
  • 2020-10-13
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
  • 2021-09-30
  • 2021-04-27
  • 1970-01-01
  • 2020-10-03
相关资源
最近更新 更多