使用while(),pop()反转字符串并插入

时间:2019-06-18 16:28:02

标签: python-3.x

使用

while
.pop()
insert()

pop()列表中的第一项,并添加到将要反转的新字符串的开头

# [ ] Challenge: write the code for "reverse a string" reversing some_numbers

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()
    rev_string.insert(0,rev)
print(rev)

print(some_numbers)
print(rev_string)

我的第一个问题是:

  1. 当我在第7行打印rev时,我得到的答案是1,但是我们知道用一个空的pop来表示最后一个元素,然后为什么我要得到1而不是77。
  2. 通过在第5行的弹出窗口中添加0,我得到了正确的答案。

3 个答案:

答案 0 :(得分:0)

您的假设pop() the first item in the list是错误的。调用some_numbers.pop时,会弹出列表的 last 元素,然后选中docs。这应该回答您的两个问题。

答案 1 :(得分:0)

不带参数的

pop()返回,然后删除最后一个元素,但您假设相反。您应该使用

del listname[0]

但是请注意,这只是删除(不会返回并像pop一样删除) 所以使用

listname[0]

在使用del之前访问元素

答案 2 :(得分:0)

1. rev 在第一次while迭代中等于 77 。因为你循环直到 len(some_numbers) rev 在循环结束时等于 1

2。 pop 函数将索引作为输入,这意味着如果将0放入弹出窗口,则每次迭代都会在列表中弹出索引0。并在循环末尾给您列表的最后一个数字。