मैं कुछ HTML वर्णों से बचने के लिए एक साधारण स्क्रिप्ट के साथ खेल रहा हूं, और मेरी सूची escape_pairs
में तत्वों के क्रम के कारण होने वाली एक बग का सामना कर रहा हूं। मैं लूप के दौरान modifying the lists नहीं हूं, इसलिए मैं यहां देख रहे किसी भी पायथन/प्रोग्रामिंग सिद्धांतों के बारे में नहीं सोच सकता।क्या सूची में तत्वों का क्रम लूप में बग का कारण बन सकता है?
escape_pairs = [(">", ">"),("<","<"),('"',"""),("&","&")]
def escape_html(s):
for (i,o) in escape_pairs:
s = s.replace(i,o)
return s
print escape_html(">")
print escape_html("<")
print escape_html('"')
print escape_html("&")
रिटर्न
&gt;
&lt;
&quot;
&
हालांकि जब मैं बग करने के लिए अपने escape_pairs
सूची में तत्वों का क्रम बदलने के
>>> escape_pairsMod = [("&","&"),("<","<"),('"',"""),(">", ">")]
>
<
"
&
हां। यदि आप कागज के टुकड़े पर 's' का मान लिखते हैं और अपने कार्यक्रम के चरणों का पालन करते हैं, तो आप इसे देखेंगे। – jtbandes
आपके पहले "छोटी गाड़ी" मामले में, 'प्रतिस्थापन' को यह जानना कैसा है कि आप केवल '*' वर्णों के * कुछ * को प्रतिस्थापित करना चाहते हैं, न कि उन सभी को? – DSM