【问题标题】:Unexpected behavior while replacing items in a list with python用 python 替换列表中的项目时出现意外行为
【发布时间】:2022-12-06 18:22:08
【问题描述】:

我编写了一个非常简单的代码来用另一个列表中的元素替换特定的字符 ('0')。

def merge_lists(self, list1,list2):

       j = 0
       child = list2.copy()
       for i in range(len(child)):
          if child[i] == '0': 
            child[i] = list1[j]
            j = j + 1
            
       return  child

对于 list1 = ['-755150236'] 和 list2 = ['-54113090', '0'] 我得到了 ['-54113090', '-75515023'] 而不是预期的 ['-54113090', '-755150236'] .出于某种我不明白的原因,它不会复制 list2 的最后一个字符。

我做错了什么? 提前致谢!

【问题讨论】:

  • 无法复制 - 使用您的输入,此函数返回 ['-54113090', '-755150236']
  • 嗨佩德罗,欢迎来到 stackoverflow!我试过你的代码,它确实返回了正确的结果。
  • @ffrosch,这是预期的行为,但不是我获得的。那么我会检查我是否在其他地方遗漏了什么。谢谢!

标签: python


【解决方案1】:

那么,您将元素 child[1] 替换为 list1[0]

【讨论】:

    【解决方案2】:

    我测试了你的代码并得到了预期的结果。因此我认为,这可能与您的班级代码有关吗?

    【讨论】:

      猜你喜欢
      • 2016-01-13
      • 1970-01-01
      • 2016-02-01
      • 2016-03-08
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 2011-01-16
      相关资源
      最近更新 更多