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