对二维列表元素逐个求差分
a[i][j]=a[i][j]-a[i][j+1]
结果出现很大的值,100左右。列表原来的元素只有零和一两个值。
个人猜测是列表元素之间的运算不能这么运算,但是不懂原因,求解
更换后为减1后,变成这样子了。感觉是重复运行了10次
使用差分函数diff来解决简单。
见:
https://blog.csdn.net/huangguohui_123/article/details/104742910
写个
if a[i][j]>1:
print(i,j)
看到底是几行几列出错了
另,求差分你不应该重新定义一个list来存放差分吗,为什么存回原来的list里面去了
你确定不是反复求差分导致结果累积了吗
还有a[i][j]=a[i][j]-a[i][j+1]和a[i][j]=a[i][j]-a[i][j-1]的结果差别巨大,因为你的结果存回原list里面了,那么到底谁先算谁后算决定了你计算后的结果会不会继续参与运算
你写的这个代码好像会把原有数据迭代吧