स्ट्रिंग से पहला 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.