我有一个输出看起来像这样:蟒蛇发现多个号码之间的距离在列表
output=[[[], [], [], [1582, 2912, 3109, 5711], []],
[[], [1182, 1432, 2127, 2274, 2613, 3024, 3703, 4723, 5288, 5438], [], []],
[[], [], [], [], [27, 574, 835, 1221, 1388, 1525, 1842, 2070, 2547, 3578, 3798, 3932, 4066, 4157, 4350, 4567, 4709, 5176, 5564, 5744], [], []],
[[], [], [], [], []],
[[]],
[[], []],
[[], [1182, 1432, 2127, 2274, 2613, 3024, 3703, 4723, 5288, 5438], [], [], [1452, 2120, 5628]],
[[3610], []],
[[], [], [], []],
[[3842], []],
[[1566], [3842], []],
[[5182, 5569], [], []],
[[], [3842], [], [], [1452, 2120, 5628]],
[[], [], []],
[[]],
[[], [377, 576, 2682, 3071, 5760], [900, 1723, 2658, 3076], []],
[[], []],
[[], [], [], [], [1452, 2120, 5628]],
[[], [1182, 1432, 2127, 2274, 2613, 3024, 3703, 4723, 5288, 5438], [], []]]
为输出的每一行,我需要找到一个数字的距离的所有可能的组合列表到另一个列表中的数字。例如,对于该行:
[[1566], [3842], []],
我只需要找到的距离(1566-3842),但该行:
[[], [377, 576, 2682, 3071, 5760], [900, 1723, 2658, 3076], []],
我需要找到距离的所有可能的组合。有人能告诉我一个快速的方法来做到这一点?非常感谢。
我的想法做这样的:
>>> dis=[]
>>> for i in range(len(output)):
for j in output[i]:
if any(abs(num-numb) for num in output[i] for numb in output[i+1]):
di=abs(num-numb)
dis.append(di)
我在正确的轨道上?
谢谢,我将编辑帖子。 – user2496006
略好;你可能想要包括你用这种方法遇到的问题,为什么它不起作用。这样我们可以帮助你自己。 –
在描述中,你提到每一行就像是独立的。但在代码中,您似乎在寻找连续行之间的组合。代码是否错误? – RussW