कैसे रिवर्स करने के लिए स्ट्रिंग का उपयोग कर सूची अजगर

0

सवाल

मैंने पाया यह का एक टुकड़ा कोड से संबंधित के बारे में सवाल के पीछे तार में अजगर है, लेकिन कर सकते हैं किसी को व्याख्या कृपया यह सादे अंग्रेजी में? कृपया ध्यान दें कि मैं अभी भी नया करने के लिए अजगर और केवल सीखा कैसे का उपयोग करने के लिए, जबकि छोरों और कार्यों कल :/ इसलिए मैं वास्तव में इस डाल शब्दों में अपने आप का कारण मेरी समझ में नहीं काफी वहाँ अभी तक है.

वैसे भी यहाँ कोड है:

def reverse_string(string):
    new_strings = [] 
    index = len(string) 
    while index:  
        index -= 1                       
        new_strings.append(string[index]) 
    return ''.join(new_strings) 

print(reverse_string('hello'))
list python string
2021-11-24 04:07:22
3

सबसे अच्छा जवाब

4

निश्चित रूप से जानने के द्वारा, यह क्या करता है, आप समझ सकते हैं कोड । में while पाश, index मूल्य से शुरू होता है के अंत में स्ट्रिंग और नीचे की गिनती करने के लिए 0. प्रत्येक चरण में, यह कहते हैं कि चरित्र (फिर से शुरू, अंत) के अंत करने के लिए सूची का निर्माण है. अंत में, यह को जोड़ती है सूची में एक स्ट्रिंग.

तो, 'एबीसीडी', इस सूची में हो जाता है बनाया:

'abcd'  #3 -> ['d']
'abcd'  #2 -> ['d','c']
'abcd'  #1 -> ['d','c','b']
'abcd'  #0 -> ['d','c','b','a']
2021-11-24 04:10:52
1

मूल रूप से ठीक है, इस स्ट्रिंग की लंबाई के साथ len विधि । जाएगा जो बदले में आप एक पूर्णांक मान का प्रतिनिधित्व कैसे लंबे समय है कि स्ट्रिंग है.

वे का उपयोग करें तो इस स्ट्रिंग की लंबाई और प्रभावी ढंग से पुनरावृति करने के लिए नीचे शून्य में एक while पाश । का उपयोग कर -= ऑपरेटर.

प्रत्येक यात्रा (जिसका अर्थ है प्रत्येक समय पाश के आसपास) यह से दूर ले जाएगा की लंबाई जब तक यह शून्य तक पहुँच जाता है.

तो चलो का उपयोग करें hello एक उदाहरण के रूप में इनपुट और इस के माध्यम से जाना ।

reverse_string('hello') है कि कैसे हम होता है, विधि फोन में किया print बयान के अपने कोड.

हम तो दर्ज समारोह और इन चरणों का पालन:

  1. हम बनाने के लिए एक नया खाली सरणी कहा जाता है new_strings.
  2. हम लंबाई को खोजने के प्रारंभिक स्ट्रिंग hello जो हमें देता है 5. जिसका अर्थ है कि अब index 5 के बराबर है.
  3. हम बनाने के लिए एक जबकि पाश है कि जा रहा पर रहता है जब तक index कोई और अधिक का उपयोग कर while(index): - एक जबकि पाश इस तरह व्यवहार करता है एक 0 मूल्य के रूप में falsy और समाप्त हो जाएगा तक पहुँचने पर । इसलिए जब index है 0 पाश बंद हो जाएगा.
  4. पहली पंक्ति के पाश निष्पादित करता है index -= 1 जो एक ही है के रूप में लेखन index = index - 1 तो बहुत पहले पाश के माध्यम से, हम प्राप्त index = 5 - 1 और तो अब index करने के लिए बराबर है 4.
  5. क्योंकि अजगर देता है तो हमें का उपयोग character के एक स्ट्रिंग का उपयोग कर string[index] (और इस वजह से काम करता है 0 -> एन) प्रदर्शन hello[4] वास्तव में हमें देने के चरित्र o.
  6. हम भी संलग्न इस चरित्र सरणी के लिए new_strings जिसका अर्थ है कि के रूप में हम के माध्यम से जाने के पुनरावृत्तियों तक पहुँचने के लिए यह शून्य जोड़ देगा प्रत्येक चरित्र के पीछे की ओर करने के लिए इस सरणी दे रही है हमें ['o', 'l', 'l', 'e', 'h']
  7. के बाद से सूचकांक है, अब हम शून्य छोड़ पाश प्रदर्शन और एक join ऑपरेशन पर सरणी के लिए अभी तक फिर से बनाने के लिए एक स्ट्रिंग है. आदेश ''.join(new_strings) इसका मतलब है कि हम में शामिल करना चाहते हैं सरणी, हम पहले किया था के बिना एक विभाजक. अगर हम किया था '#'.join(new_strings) हम बजाय मिल गया होता o#l#l#e#h के बजाय olleh.

मुझे आशा है कि इस सवाल का जवाब देता है आप कुछ स्पष्टता.

2021-11-24 04:20:49

आह, यह स्पष्ट किया मेरे सवालों का डटकर कि अंतिम पंक्ति जो मैं था के बारे में पूछने के लिए. विवरण के लिए धन्यवाद :)
user17415509

सब पर कोई चिंता नहीं. मैं कर रहा हूँ खुशी है कि मैं हो सकता है की सेवा. टिम रॉबर्ट्स सही है हालांकि, कई इन बातों से समझा जा सकता माध्यम से जा रहा द्वारा बुनियादी बातों. मैं सुझाव है कि जब भी आप पर ठोकर कोड आप समझ में नहीं आता, कोशिश लुक भाषा प्रलेखन के लिए विधि/ऑपरेटर. यहां तक कि अगर तुम यह समझ में नहीं आता शुरुआत में, हो रही है की आदत में यह और कोशिश कर रहा है, यह समझने के लिए आप की सेवा करेंगे बहुत अच्छी तरह से आगे बढ़ रहा है ।
Johan Jarvi

एक उदाहरण के रूप में str.में शामिल होने() दस्तावेज का हिस्सा है, जो अजगर में निर्मित प्रकार के दस्तावेज साबित कर सकते हैं किया जा करने के लिए बहुत बहुत उपयोगी है पर बाद में लेकिन मैं समझ सकता हूँ कि यह कैसे लग रहे हो जाएगा भारी और भ्रामक है इस बिंदु पर है, लेकिन यह बहुत ही अच्छी आदत में पाने के लिए खोजने के लिए इन संसाधनों और सीखने कैसे उन्हें व्याख्या करने के लिए.
Johan Jarvi
0

यकीन है, यह बहुत ही सरल कार्यक्रम है. आप होना चाहिए reffer स्ट्रिंग के तरीकों और स्ट्रिंग अनुक्रमण में अजगर प्राप्त करने के लिए स्पष्ट विचार है. मुझे यह समझाने में deatial.

प्रिंट(reverse_string('हैलो'))//प्रिंट समारोह बुला रहा है एक अन्य समारोह reverse_string गुजर रहा है और तर्क"नमस्ते".

डेफ reverse_string(स्ट्रिंग):// तर्क "नमस्ते" चर में संग्रहीत स्ट्रिंग में reverse_string समारोह.

**new_strings = []** // created a new empty list
**index = len(string)** // len function returns the length of the argument 
                           passed to the function. len("hello")=5 and assigned 
                           to index. index=5.

जबकि सूचकांक: // जबकि पाश exicute हालत जब तक मिल गलत है .इस उदाहरण के लिए, जब सूचकांक =0 है.में स्ट्रिंग का अनुक्रमण 0 से शुरू करें .के लिए उदाहरण है । स्ट्रिंग[0]=h,स्ट्रिंग[1]=ई,स्ट्रिंग[2]=एल,स्ट्रिंग[3]=एल,स्ट्रिंग[4]=हे.

    **index -= 1**  //Note the last letter 'o' is in string[4] and the len 
                      function returned 5 so we need to decrement index variable 
                      to 4 so that it will pointing to string[4]=o                     
  

new_strings.संलग्न(स्ट्रिंग[सूचकांक]) // संलग्न स्ट्रिंग[4] है कि हे,,, और इतने पर ... वापसी ".में शामिल होने(new_strings)

2021-11-24 05:28:44

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................