Python:计算一组整数中所有元素之间的差异

标签 python set

我想计算一组整数中所有元素之间的绝对差。我正在尝试执行 abs(x-y),其中 xy 是集合中的两个元素。我想对所有组合都这样做,并将结果列表保存在一个新集合中。

最佳答案

I want to calculate absolute difference between all elements in a set of integers (...) and save the resulting list in a new set.

您可以使用 itertools.combinations :

s = { 1, 4, 7, 9 }
{ abs(i - j) for i,j in combinations(s, 2) }
=>
set([8, 2, 3, 5, 6])

combinations 返回 s 中所有组合的 r 长度元组,无需替换,即:

list(combinations(s, 2))
=>
[(9, 4), (9, 1), (9, 7), (4, 1), (4, 7), (1, 7)]

关于Python:计算一组整数中所有元素之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775578/

相关文章:

python - 无法使用MySQL在python中插入单列值

python - 整数 numpy 数组乘以 float

python - 在 tkinter 中的两个帧之间切换?

java - 通过java中的两个属性键将(最小)对象保留在集合中

ios - 子类化 MKAnnotation 导致 Set 集合不起作用

python - glob 生成器的类型注释

python - Keras - .flow_from_directory(目录)

c - 最近在 C 中进行高效的集合成员测试以进行重复数据删除?

language-agnostic - 如何计算具有重复的集合中所有可能的唯一子集的总数?

wolfram-mathematica - 高效和有条件的元组或子集