Reverse String or List
Python में reverse करना
String या list reverse करना बहुत आम काम है। Python इसे आसान बनाती है — सबसे छोटा तरीका [::-1] से slicing है, पर loop आपको समझाता है कि असल में क्या होता है। हम दोनों देखेंगे, साथ में list को जगह पर reverse करना।
text[::-1] string या list को एक line में reverse कर देता है।Slicing तरीका [::-1]
text = "Python"
print(text[::-1])
Slice [start:stop:step] है। start और stop खाली छोड़ना मतलब "पूरी string", और -1 का step पीछे की ओर चलता है — तो यह reversed आता है। यह सबसे Pythonic तरीका है।
Loop से reverse
Reverse कैसे काम करता है देखने को, character-by-character नई string बनाइए।
text = "Python"
rev = ""
for ch in text:
rev = ch + rev # हर char आगे जोड़ो
print(rev)
मुख्य बात है rev = ch + rev — हर नया character आगे जोड़ा जाता है, तो string उल्टी बनती जाती है।
Loop का dry run
| ch (हर character) | rev = ch + rev | rev अब |
|---|---|---|
| P | "P" + "" | "P" |
| y | "y" + "P" | "yP" |
| t | "t" + "yP" | "tyP" |
| h | "h" + "tyP" | "htyP" |
| o | "o" + "htyP" | "ohtyP" |
| n | "n" + "ohtyP" | "nohtyP" |
हर character rev के आगे जोड़ा जाता है (ch + rev, rev + ch नहीं)। तो नया character हमेशा शुरू में आता है, और string उल्टी बनती जाती है। "Python" → "nohtyP"। (या सीधे: text[::-1]।)
List reverse करना
nums = [1, 2, 3, 4]
print(nums[::-1]) # नई reversed list
nums.reverse() # जगह पर reverse
print(nums)
[4, 3, 2, 1]
nums[::-1] नई reversed list देता है और मूल को छोड़ देता है। nums.reverse() list को खुद reverse करता है और कुछ नहीं लौटाता — इस आधार पर चुनिए कि मूल रखना है या नहीं।
आम गलतियाँ
- Loop में
rev + chलिखना। वो क्रम बनाए रखता है; reverse कोch + revइस्तेमाल कीजिए। reverse()से value लौटने की उम्मीद। यह जगह पर reverse करता है और None लौटाता है।- String पर
reverse()इस्तेमाल करना। Strings मेंreverse()method नहीं — slicing इस्तेमाल कीजिए। - दो colons भूलना। यह
[::-1]है,[:-1]नहीं (जो सिर्फ़ आख़िरी item हटाता है)।
सारांश
- सबसे तेज़ reverse slicing है: strings और lists को
text[::-1]। rev = ch + revवाला loop दिखाता है reverse कैसे काम करता है।list.reverse()जगह पर reverse करता है;[::-1]नई copy बनाता है।- Strings में reverse() method नहीं — slicing या reversed() इस्तेमाल कीजिए।
- Number को
int(str(n)[::-1])से reverse कीजिए।
आगे, इसे इस्तेमाल कीजिए palindrome program में, या देखिए list comprehension।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
Python में string reverse करने का सबसे आसान तरीका क्या है?
text[::-1]। [::-1] का मतलब "पूरी चीज़ लो, पीछे की ओर बढ़ते हुए", जो string को एक छोटी line में reverse करके लौटाता है।Slice [::-1] कैसे काम करता है?
[start:stop:step] है। start और stop खाली छोड़ना मतलब पूरा sequence, और -1 का step अंत से शुरुआत की ओर जाता है — तो यह string या list reverse कर देता है।reversed() और [::-1] में क्या अंतर है?
[::-1] सीधे नया reversed string या list लौटाता है। reversed() एक iterator लौटाता है जिस पर आप loop करते हैं या join/list को देते हैं। दोनों reverse करते हैं; slicing छोटा है, reversed() बड़े data के लिए ज़्यादा memory-friendly हो सकता है।List को जगह पर कैसे reverse करूँ?
my_list.reverse() इस्तेमाल कीजिए, जो list को खुद reverse करता है और कुछ नहीं लौटाता। नई reversed list चाहिए तो my_list[::-1] इस्तेमाल कीजिए और मूल अछूता रखिए।क्या Python में number reverse कर सकते हैं?
int(str(n)[::-1])। palindromic numbers जाँचने जैसी समस्याओं के लिए यह आम trick है।