0
我有如下列表的列表:如何找到列表中的元素之间的第一个差异?
data = [
[0.051, 0.05],
[],
[],
[],
[],
[],
[0.03],
[0.048],
[],
[0.037, 0.036, 0.034, 0.032],
[0.033, 0.032, 0.03]
]
我试图找到在各子表中的元素之间的第一个区别,但不能完全弄清楚如何使用Python这样做。这是我写的:
x = {}
index = 0
for item in data:
if len(item) < 2:
x[index] = "NA"
index += 1
else:
try:
x[index] = item[0] - item[1]
index += 1
except IndexError:
x[index] = "NA"
index += 1
y = {}
index = 0
for item in data:
if len(item) < 2:
y[index] = "NA"
index += 1
else:
try:
y[index] = item[1] - item[2]
index += 1
except IndexError:
y[index] = "NA"
index += 1
z = {}
index = 0
for item in data:
if len(item) < 2:
z[index] = "NA"
index += 1
else:
try:
z[index] = item[2] - item[3]
index += 1
except IndexError:
z[index] = "NA"
index += 1
不过,我更希望的是可以扩展基于每个子列表中元素的个数更动态的版本。在数学上,对于n个元素将会有n-1个第一差分x。
这真是太棒了。我的代码太长,没有优化。 –