python使用zip函数同时使用list的remove,使得迭代器向前多走了一位,如何简洁的解决?

python使用zip函数同时使用list的remove,使得迭代器向前多走了一位,如何简洁的解决?

问题描述

如以下下代码:

    for k,v in zip(key,value):

if li.find(k) != -1:

li = li.replace(k,v)

key.remove(k)

value.remove(v)

key 和 value是两个列表,li是一个字符串,目的是将key中的每一个值替换为value中的值。
因为还是个新手,写的时候没想太多...然后debug发现是remove先删除了列表中的元素使得迭代器向前进了一位,然后zip函数又使得迭代器进了一位,相当于多进了一位。
该怎么尽量简洁的解决呢?


回答:

for k, v in zip(key, value):  

li = li.replace(k, v)

以上是 python使用zip函数同时使用list的remove,使得迭代器向前多走了一位,如何简洁的解决? 的全部内容, 来源链接: utcz.com/a/156425.html

回到顶部