python - Pythonic方法来获取列表中每个元素与其他元素的减法列表?
问题描述
我有一个列表[a,b,c,d]
,我想生成一个列表,它给我每两个元素的减法的绝对值。
[|a-b|, |a-c|, |a-d|, |b-c|, |b-d|, |c-d|]
是否有一个函数或一个不错的 pythonic 1-liner 来做到这一点?
解决方案
你有没有尝试过这样的事情?这是获取列表中所有组合的快速方法:
>>> 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]
推荐阅读
- python - 关于使用python将值导出到excel表的问题
- flutter - Dart main() 函数是否需要为 void main() 或者可以省略 void 类型?
- python - PyInstaller - 在单个文件编译中包含带有第三方脚本的 subprocess.Popen 调用
- angular - npm 抛出此错误 '"**/node_modules/@angular/core/core"' has no export member 'ɵɵFactoryDef'
- angular - 角材料可编辑表
- arrays - 我想将 numpy 数组的第一个元素与另一个 numpy 数组中的第一个元素追加,并对所有其他元素执行此操作
- google-apps-script - 如何使用 Google App Script 按日期过滤数据
- user-interface - Wiremock UI 连接到本地运行的 Wiremock 独立服务器
- javascript - 更改值的切换按钮
- java - 想要将我的列表视图与 Android Studio 中的文本链接