我的代码遇到问题,我正在编写一个方法,该方法将检查下一个元素是否小于前一个元素,如果是,则会将其删除。
示例:
输入:[1, 20, 10, 30]
所需输出:[1,20,30]
实际输出:[30]
def findSmaller(s):
i = -1
y = []
while i <= len(s):
for j in range(len(s)):
if s[i+1] <= s[i]:
del s[i + 1]
y.append(s[i])
i += 1
return y
最佳答案
如果您不确定循环如何工作我建议添加一些打印语句。这样您就可以看到循环实际上在做什么,尤其是在更复杂的问题中,这很有用。
这样的东西可以解决你的问题。
a = [1,2,3,2,4]
for k in range(0,len(a)-2): #-2 so that one don't go past the loops length
#print(k)
y = a
if(a[k]>a[k+1]):
del y[k+1] #delete the k+1 element if it is
关于python - python 查找下一个元素是否小于它之前的元素并将其从列表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40439487/