Python 整数列表反转产生非类型错误
我试图反转整数列表,但我一直得到一个非类型错误 回溯最近一次呼叫最后:第7行,在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
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]