首页 > 解决方案 > Pythonic方法来获取列表中每个元素与其他元素的减法列表?

问题描述

我有一个列表[a,b,c,d],我想生成一个列表,它给我每两个元素的减法的绝对值。

[|a-b|, |a-c|, |a-d|, |b-c|, |b-d|, |c-d|]

是否有一个函数或一个不错的 pythonic 1-liner 来做到这一点?

标签: pythonpython-3.xlist

解决方案


你有没有尝试过这样的事情?这是获取列表中所有组合的快速方法:

>>> x = [1, 4, 9, 16]
>>> [abs(x[i]-x[j]) for i in range(len(x)) for j in range(i+1, len(x))]
[3, 8, 15, 5, 12, 7]

推荐阅读