Python 整数列表反转产生非类型错误

Python 整数列表反转产生非类型错误,python,python-3.x,Python,Python 3.x,我试图反转整数列表,但我一直得到一个非类型错误 回溯最近一次呼叫最后:第7行,在 reversed_numbers = reversed_numbers.insert(i, some_numbers.pop()) AttributeError:“非类型”对象没有属性“插入” 我意识到我可以使用.append并简化流程,但这项挑战特别需要.insert和while循环,我想我可能离这太远了,所以非常感谢您的帮助。您的问题发生在while循环的第二次迭代中,在第一次迭代中。inserti,某些\u

我试图反转整数列表,但我一直得到一个非类型错误

回溯最近一次呼叫最后:第7行,在

reversed_numbers = reversed_numbers.insert(i, some_numbers.pop())
AttributeError:“非类型”对象没有属性“插入”


我意识到我可以使用.append并简化流程,但这项挑战特别需要.insert和while循环,我想我可能离这太远了,所以非常感谢您的帮助。

您的问题发生在while循环的第二次迭代中,在第一次迭代中。inserti,某些\u numbers.pop将返回None,因此反向\u编号将变为None

要反转列表,可以使用内置的反转功能:

或者您可以使用:

some_numbers = [1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77]

reversed_numbers = []

while some_numbers:
    reversed_numbers.append(some_numbers.pop())


print(reversed_numbers)
如果要将while循环与list.insert一起使用,可以使用:

some_numbers = [1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77]

reversed_numbers = []

i = 0
while some_numbers:
    reversed_numbers.insert(i, some_numbers.pop())
    i += 1


print(reversed_numbers)
# [77, 66, 55, 44, 33, 22, 11, 9, 8, 7, 6, 5, 4, 3, 2, 1]
您正在设置reversed_numbers=reversed_numbers.inserti,some_numbers.pop,当您只需要在reversed_numbers上调用insert而不重新分配值时

一些_数=[1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77] 反向_数=[] i=0 而有些数字: 反向\u number.inserti,部分\u number.pop i+=1 印刷品编号 还要注意,您的帖子在while循环中有i=0,因此每次都会覆盖相同的索引

some_numbers = [1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77]

reversed_numbers = []

while some_numbers:
    reversed_numbers.append(some_numbers.pop())


print(reversed_numbers)
some_numbers = [1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77]

reversed_numbers = []

i = 0
while some_numbers:
    reversed_numbers.insert(i, some_numbers.pop())
    i += 1


print(reversed_numbers)
# [77, 66, 55, 44, 33, 22, 11, 9, 8, 7, 6, 5, 4, 3, 2, 1]