计算数字列表元素差值的绝对值最小的数
求最优的算法
vli = [9,1,7,2,3,4,1]
svli = sorted(vli)
deffer = []
result = []
for i in range(len(svli)):
if i<len(svli)-1:
if len(deffer) ==0:
deffer.append(svli[i+1]-svli[i])
result.append([svli[i+1],svli[i]])
else:
if deffer[0] > abs(svli[i+1]-svli[i]):
deffer = []
deffer.append(svli[i+1]-svli[i])
result.append([svli[i+1],svli[i]])
elif deffer[0] == abs(svli[i+1]-svli[i]):
deffer.append(svli[i+1]-svli[i])
result.append([svli[i+1],svli[i]])
print(deffer)
print(result)
- 运行结果b