यह सरल कोड जो केवल कॉलनों द्वारा अर्धविराम (i-निर्दिष्ट पोस्ट पर) को बदलने का प्रयास करता है:
for i in range(0,len(line)):
if (line[i]==";" and i in rightindexarray):
line[i]=":"
यह त्रुटि देता है
line[i]=":"
TypeError: 'str' object does not support item assignment
कॉलन द्वारा अर्धविराम को बदलने के लिए मैं इसके चारों ओर कैसे काम कर सकता हूं? रिप्लेस का उपयोग करने से काम नहीं चलता है क्योंकि फ़ंक्शन कोई इंडेक्स नहीं लेता है - कुछ अर्धविराम हो सकते हैं जिन्हें मैं बदलना नहीं चाहता।
उदाहरण
स्ट्रिंग में मेरे पास अर्धविराम की कोई भी संख्या हो सकती है, उदाहरण के लिए "Hei der!! Hello? There?";
मुझे पता है कि मैं किन लोगों को प्रतिस्थापित करना चाहता हूं (मेरे पास स्ट्रिंग में उनका सूचकांक है)। प्रतिस्थापन का उपयोग करना काम नहीं करता है क्योंकि मैं इसके साथ एक सूचकांक का उपयोग करने में सक्षम नहीं हूं।
str.find() अर्धविराम की स्थिति का पता लगाने के बजाय का उपयोग करें , फिर सबस्ट्रिंग निकालने के लिए स्लाइसिंग का उपयोग करें।
str.replace()BIF जानते हैं ?