Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Edx课程/Python basic/使用pop()反转字符串,同时插入_Python 3.x - Fatal编程技术网

Python 3.x Edx课程/Python basic/使用pop()反转字符串,同时插入

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())

让代码使用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())
    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)