我需要求解集合元素并集的一般方程,以计算 python 中集合的概率

问题描述

在数学语言中:

list=[1,3,4]
Solve=1+3+4-1*3-1*4-3*4-1*3*4

一般功能

A1∪A2∪..∪An= A1+A2+..+An-A1*A2-A1...-A1*A2*...*An

我需要为列表中的任意数量对象创建一个函数解决这个问题。

缓慢的方式:

a=[2,2,1]

b=(a[0]|a[1]|a[2])

我需要通用解决方案!

解决方法

如果我遵循您的模式,您可以使用 itertools.combinations 生成大小为 2..N 的所有组合,然后对于每个组合,您可以使用 functools.reduce 和 {{1} } 手术。然后在 operator.mul 内否定这些值。

sum