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函数又使得迭代器进了一位,相当于多进了一位。
该怎么尽量简洁的解决呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)