我的代码遇到问题,我正在编写一个方法,该方法将检查下一个元素是否小于前一个元素,如果是,它将删除它。
Example:
Input: [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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)