簡體   English   中英

我如何使用列表和pop()反轉python中的字符串

[英]How do i reverse a string in python using lists and pop()

我正在編寫一個函數以接收字符串並反轉它。 我無法弄清楚為什么我的代碼返回的是反向字符串,但是只有一半的字母傳遞給它。

   def reverse(text):
        temp = []
        reverse_text = ""
        for i in text:
            temp.append(i)
        for i in temp:
            reverse_text += temp.pop()
        print reverse_text

我不會發布完整的答案,但是:

  1. 不要用for循環修改要遍歷的列表。 壞事將會發生(您已經意識到)

  2. 因此,您可以使用while循環來完成任務。

  3. 您還可以使用for循環,但最終會for i in range(len(temp)):得到for i in range(len(temp)): (請參見其他答案),而range(len(..))構造相當“ unpythonic”。

def reverse(text)
    return text[::-1]

我只會用reversedString = string[::-1] ,這是我認為最簡單的方法。

for i in range(len(text)):
    reverse_text += temp.pop()

不要更改字符串。

每次執行彈出操作時,都在更改迭代的溫度。

一種簡單的方法是只彈出n次,其中n是溫度的長度

def reverse(text):
    temp = []
    reverse_text = ""
    for i in text:
        temp.append(i)
    print temp
    for i in range(len(temp)):
#         print i, temp[i]
        reverse_text += temp.pop()
    print reverse_text

如果您做不到:

text[::-1]

嘗試做一個for循環:

text = 'Hello'
product=''
for x in range(len(text)-1, -1, -1):
    product+=text[x]
return product

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM