[英]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
我不會發布完整的答案,但是:
不要用for
循環修改要遍歷的列表。 壞事將會發生(您已經意識到)
因此,您可以使用while
循環來完成任務。
您還可以使用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.