我需要求解集合元素并集的一般方程来计算python中集合的概率
数学语言:我需要求解集合元素并集的一般方程来计算python中集合的概率,python,list,set,union,probability,Python,List,Set,Union,Probability,数学语言: 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.compositions生成大小为2..N的所有组合,然后对于每个组合,您可以使用
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.compositions
生成大小为2..N的所有组合,然后对于每个组合,您可以使用functools.reduce使用操作符.mul
操作将元组乘以。然后在sum
中对这些值求反
>>> from itertools import combinations
>>> from functools import reduce
>>> from operator import mul
>>> data = [1,3,4]
>>> sum(data) + sum(sum(-reduce(mul, i) for i in combinations(data, n)) for n in range(2, len(data)+1))
-23
请提供您尝试过的代码。谢谢!你有很多经验,你可以分享!