स्ट्रिंग से पहला x वर्ण निकालना?


116

कोई स्ट्रिंग से पहला x अक्षर कैसे निकाल सकता है? उदाहरण के लिए, यदि किसी के पास एक स्ट्रिंग थी, तो lipsumवे पहले 3 वर्णों को कैसे निकालेंगे और इसका परिणाम प्राप्त करेंगे sum?


5
बेहतर उदाहरण अगर हटाए गए वर्णों की संख्या बने रहने के लिए वर्णों की संख्या के बराबर नहीं है। जैसे"lipsumm"[3:] == "summ"
— स्कॉट पेलाक

जवाबों:


213
>>> text = 'lipsum'
>>> text[3:]
'sum'

अधिक जानकारी के लिए तार पर आधिकारिक दस्तावेज देखें और यह संकेतन के संक्षिप्त सारांश के लिए उत्तर दें।


16

एक और तरीका (आपकी वास्तविक जरूरतों के आधार पर): यदि आप पहले n वर्णों को पॉप करना चाहते हैं और दोनों पॉप्ड वर्णों और संशोधित स्ट्रिंग को सहेजना चाहते हैं :

s = 'lipsum'
n = 3
a, s = s[:n], s[n:]
print(a)
# lip
print(s)
# sum

3
मुझे लगता है कि यह रूपक रूप से "पॉप्ड" है, लेकिन वास्तव में इसकी सिर्फ 2 अलग-अलग स्लाइसें हैं, कोई वास्तविक पॉपिंग नहीं है
— जैमाइलक

9
>>> x = 'lipsum'
>>> x.replace(x[:3], '')
'sum'

11
ध्यान दें कि यह कोड में लंबा है और इसे बदलने से पहले आपको विकल्प की खोज करने में अधिक समय लगेगा। इसके अलावा: >>> x = 'liplip' >>> x.replace(x[:3], '') ''। सुनिश्चित करें कि आप तीसरे पैरामीटर (गिनती) = 1 होने से इसे ठीक कर सकते हैं लेकिन यह अभी भी अधिक समय लेगा।
— जामिलाक

nah यह आपके उत्तर से संबंधित है इसलिए यह यहाँ है। आप गिनती = 1 को अपने साथ जोड़ सकते हैं ताकि यह अभी भी btw काम करता है
— jamylak

4

का उपयोग करें del।

उदाहरण:

>>> text = 'lipsum'
>>> l = list(text)
>>> del l[3:]
>>> ''.join(l)
'sum'

1
यह ऐसा काम नहीं करेगा जैसा आप सोचेंगे text = 'liplip' >>> text.lstrip(text[:3]) ''क्योंकि एक के लिए चर तर्क एक उपसर्ग नहीं है; बल्कि, इसके मूल्यों के सभी संयोजनों को छीन लिया गया है:str.lstrip([chars])
— जैमिलक

@ जमालिक एडिट मेरा
— फॉरवर्ड

1
न तो समाधान काम करते हैं। के लिए 'liplip'। दूसरे एक मेंTypeError: 'str' object does not support item deletion
— जामिलाक

@ जमालिक एडिट फिर से
— फ़ॉरवर्ड

@ जैमाइलक यह काम करता है, अब, यदि आपको नीचे उतरने की आवश्यकता है?
— U10- फॉरवर्ड

2

खाता संख्या के अंतिम 3 अंक दिखाने के लिए उदाहरण।

x = '1234567890'   
x.replace(x[:7], '')

o/p: '890'

यह tkbx द्वारा जवाब के रूप में एक ही मुद्दा है
— जमीलाक

जैसे। >>> x = '12345678901234567890' >>> x.replace(x[:7], 'xxxxxxx') 'xxxxxxx890xxxxxxx890'
— जमालिक

इसके अलावा यह सवाल का जवाब भी नहीं देता है, आप वर्णों xको हटाने के बजाय उनकी जगह ले रहे हैं
— जैमाइलक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.