Python 不使用循环在给定索引之前删除列表元素
只是一个小问题,我试图解决,但有一个问题。 当我在python shell中一步一步地这样做时:Python 不使用循环在给定索引之前删除列表元素,python,list,Python,List,只是一个小问题,我试图解决,但有一个问题。 当我在python shell中一步一步地这样做时: lista=[2,4,5,1,2,7,8,12,3,4,0,27,4,9] list=list.sort() l = list.index(5) listfinal= list[l::] print(listfinal) 它可以工作,因此我无法使用它。在我的函数下面的list[list.index(x):]中,它会给我一个非类型错误: def remove_menores(list,x):
lista=[2,4,5,1,2,7,8,12,3,4,0,27,4,9]
list=list.sort()
l = list.index(5)
listfinal= list[l::]
print(listfinal)
它可以工作,因此我无法使用它。在我的函数下面的list[list.index(x):]中,它会给我一个非类型错误:
def remove_menores(list,x):
list=list.sort()
listfinal= list[list.index(x)::]
print(listfinal)
有人能告诉我这是为什么吗?list.sort()
返回None
,因此,不需要存储其返回值。相反,请尝试以下方法:
def remove_menores(list,x):
list.sort()
listfinal= list[list.index(x)::]
print(listfinal)
请不要调用变量
列表
。除了成为各种不同行为的原因之外,你的真实意图也不那么清楚anymore@roganjosh我在哪里做的?list=list.sort()
@roganjosh噢,谢谢list.sort
变异外部lista
-潜在的不良副作用-函数不应有不必要的副作用