美文网首页
如何在迭代时对列表进行操作

如何在迭代时对列表进行操作

作者: JustinRevo | 来源:发表于2018-08-06 15:34 被阅读0次

    当想对列表迭代,针对其中的每项做修改时,可能会碰到如下的错误用法

    item = ['aa', 'bb', 'cc']
    for i in item:
      i = i+'123'
    print(item)
    

    注意上述代码的缩进。
    这样仅仅是对迭代子进行了操作,对”列表各项“的操作是没有任何效果的。出了这个for循环,你的操作将不会得到保存
    运行结果如下:

    ['aa', 'bb', 'cc']
    

    一种解决方法如下:

    item = ['aa', 'bb', 'cc']
    for i, j in enumerate(item):
      item[i] = j+'123'
    print(item)
    

    运行结果如下:

    ['aa123', 'bb123', 'cc123']
    

    这样是对item本身进行了操作,结果得以保存。
    犯这样错误的原因可能是将python语法与C++等混淆了,认为在某个函数内,该变量是一直独立存在的。但实际上这个for循环相当于一个内建的小函数,迭代子仅仅在这个循环内有效。

    相关文章

      网友评论

          本文标题:如何在迭代时对列表进行操作

          本文链接:https://www.haomeiwen.com/subject/lmcgvftx.html