Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 你如何将不符合';t把1加起来就是1?_Python_Python 3.x - Fatal编程技术网

Python 你如何将不符合';t把1加起来就是1?

Python 你如何将不符合';t把1加起来就是1?,python,python-3.x,Python,Python 3.x,如果你不知道钥匙的数量和名称,你如何将不等于1的概率转化为等于1的概率? 例如: a = {'g' = 0.1, 'b' = 0.05, 'u' = 0.15, 'i' = 0.2} 致: 您的目标是实现标准化:计算和并将所有元素除以该和: total_inv = 1.0/sum(a.values()) for key,val in a.items(): a[key] = val*total_inv 甚至更短(如所说)使用听写理解: 但是这将构建一个新的词典,因此对旧词典的引用不会更

如果你不知道钥匙的数量和名称,你如何将不等于1的概率转化为等于1的概率? 例如:

a = {'g' = 0.1, 'b' = 0.05, 'u' = 0.15, 'i' = 0.2}
致:


您的目标是实现标准化:计算
并将所有元素除以该和:

total_inv = 1.0/sum(a.values())
for key,val in a.items():
    a[key] = val*total_inv
甚至更短(如所说)使用听写理解:

但是这将构建一个新的词典,因此对旧词典的引用不会更新


在代码中,我们计算
1.0/sum(..)
,因为除法通常比乘法更昂贵,因此可以获得一些效率。

您的目标是实现标准化:计算
并将所有元素除以该和:

total_inv = 1.0/sum(a.values())
for key,val in a.items():
    a[key] = val*total_inv
甚至更短(如所说)使用听写理解:

但是这将构建一个新的词典,因此对旧词典的引用不会更新


在代码中,我们计算
1.0/和(…)
,因为除法通常比乘法更昂贵,因此可以获得一些效率。

以下是制作词典的答案,这应该可以解决您的问题:

a = {'g':0.1, 'b': 0.05, 'u':0.15, 'i': 0.2}
total = sum(a.values())
new_dict = dict((key, value/total) for (key, value) in a.items())

以下是制作词典的答案,这将解决您的问题:

a = {'g':0.1, 'b': 0.05, 'u':0.15, 'i': 0.2}
total = sum(a.values())
new_dict = dict((key, value/total) for (key, value) in a.items())

你是说?求和这些值并应用一个系数,使之和为1,并将其应用于所有键?你的意思是?求和值并应用一个系数,使之和为1,并将其应用于所有键?
a={k:v*total_inv for k,v in a.items()}
a={k:v*total_inv for k,v in a.items()}
只需使用字典理解,无需复杂化。(参见Jean对另一个答案的评论)。
zip(a.keys(),a.values())
a.items()
,除非我们可能无法保证Py2b的订单。编辑了两个要点,并查看上面的帖子以获得更清晰的方法。只需使用字典理解,无需复杂化事情。(请参见Jean对另一个答案的评论)。
zip(a.keys(),a.values())
a.items()
,除非我们可能无法保证Py2的订单,两个好的点都经过了编辑,请参见上面的帖子以获得更清晰的方法。