Python 3.x Edx课程/Python basic/使用pop()反转字符串,同时插入
让代码使用pop()打印输入字符串的反向字符串,而使用insert,这是一个简单的问题。我想一定有更简单更简单的方法,但我想知道为什么我的代码有错误的结果。我请求你的帮助Python 3.x Edx课程/Python basic/使用pop()反转字符串,同时插入,python-3.x,Python 3.x,让代码使用pop()打印输入字符串的反向字符串,而使用insert,这是一个简单的问题。我想一定有更简单更简单的方法,但我想知道为什么我的代码有错误的结果。我请求你的帮助 string=input('enter the string you want to reverse: ') l_string=list(string) print(l_string) l_r_string=[] while l_string: l_r_string.insert(-1,l_string.pop())
string=input('enter the string you want to reverse: ')
l_string=list(string)
print(l_string)
l_r_string=[]
while l_string:
l_r_string.insert(-1,l_string.pop())
print(l_rstring) #to check how the string is made up every step
print(''.join(l_r_string))
我认为insert的索引部分有问题。我只是将其设置为“-1”以按相反顺序保存。然而,结果是这样的
enter the string you want to reverse: 1234
['1', '2', '3', '4']
['4']
['3', '4']
['3', '2', '4']
['3', '2', '1', '4']
3214
我不太明白为什么insert方法会这样做。我的猜测是,出于某种原因,它在最后一个元素中保留了4,然后它只需要在这之前插入每个元素,但另一种使用while、insert和pop的方法是使用len(l)而不是-1作为索引。因此,请使用:
while l_string:
l_r_string.insert(len(l_r_string),l_string.pop())
print(l_r_string)
这将在列表的末尾插入每个。
希望这有帮助 我不太明白为什么insert方法会这样做。我的猜测是,出于某种原因,它在最后一个元素中保留了4,然后它只需要在这之前插入每个元素,但另一种使用while、insert和pop的方法是使用len(l)而不是-1作为索引。因此,请使用:
while l_string:
l_r_string.insert(len(l_r_string),l_string.pop())
print(l_r_string)
这将在列表的末尾插入每个。
希望这有帮助 这样做:
s[::-1]
它向后迭代字符串。按如下方式执行:
s[::-1]
some_numbers =[1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77]
rev_string = []
while len(some_numbers):
rev = some_numbers.pop(0)
rev_string.insert(0,rev)
print(rev_string)
它向后迭代字符串。
.insert(-1,…)
在最后一个位置插入。若要在末尾插入,请使用.append(…)
。.insert(-1,…)
将插入到最后一个位置的下一个位置。要在结尾插入,请使用.append(…)
。非常感谢!我可以用它解决问题!非常感谢你!我可以用它解决问题!
some_numbers =[1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77]
rev_string = []
while len(some_numbers):
rev = some_numbers.pop(0)
rev_string.insert(0,rev)
print(rev_string)