python – 列表中元素的顺序是否会导致for循环中的错误?
我正在使用一个简单的脚本来逃避某些HTML字符,并且遇到了一个错误,这个错误似乎是由我的列表escape_pairs中的元素顺序引起的.我在循环中不是modifying the lists,所以我想不出任何我在这里忽略的Python /编程原理.
回报
但是当我在escape_pairs列表中切换元素的顺序时,bug就消失了
最佳答案
是的,在您的第一次实施中,它可以.
让我们看一下>和清单 –
在遍历escape_pairs时,首先得到>并用& gt;替换它.这导致字符串变为’& gt; .然后你继续迭代,最后你找到(“&”,“& amp;”),然后你替换&在带有& amp;的字符串中,使结果成为你现在得到的结果. 更改列表的顺序时,您将获得正确的结果.但这仍然只是因为你首先考虑到&只有在那之后你还考虑了其??他. 根据字典,您可以使用str.translate来共同翻译字符串.示例 –
但是,如果您想要做的是HTML转义字符串,那么您应该使用标准库 –
此外,如果您使用的是Python 3.2,则可以使用
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |