Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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 分词_Python_Python 3.x_Dictionary_Data Structures_Division - Fatal编程技术网

Python 分词

Python 分词,python,python-3.x,dictionary,data-structures,division,Python,Python 3.x,Dictionary,Data Structures,Division,我有两条格言: dict_1 = {'A': ['red', 'red', 'blue'], 'B': ['red', 'green'], 'C': ['blue', 'green'], ....} dict_2 = {'A': Counter({'red': 2, 'blue': 1}), 'B': Counter({'red': 1, 'green': 1}), 'C': Counter({'blue': 1,

我有两条格言:

dict_1 = {'A': ['red', 'red', 'blue'],
          'B': ['red', 'green'],
          'C': ['blue', 'green'], ....}

dict_2 = {'A': Counter({'red': 2, 'blue': 1}),
          'B': Counter({'red': 1, 'green': 1}),
          'C': Counter({'blue': 1, 'green': 1}), ....}
我需要在它们之间做一些简单的划分,然后两两绘制。期望的结果是这样的,或者任何可以进行划分的结果:

fraction = {'A': [2/3, 1/3],
            'B': [1/2, 1/2],
            'C': [1/2, 1/2], ....} 
现在,我只能将第一个数字分开,任何建议都将不胜感激! 这是我的密码:

fraction = { key: [v/len(colorz)] for namez, colorz in dict_1.items() 
                          for name, color in dict_2.items() 
                          for k, v in color.items() }
.count是,所以我没有将dict_2与计数器一起使用,但可以使用它

fraction = {k: [l.count(e)/len(l) for e in set(l)] for k, l in dict_1.items()}
但这意味着时间短而不一定有效。如果需要更快,你可以做其他事情。如果你想让它们成为字符串,那么

fraction = {k: [f'{e.count(l)}/{len(l)}' for e in set(l)] for k, l in dict_1.items()}
如果你想把它们作为简分数的字符串,可以使用模块

。count是,所以我不把dict_2和计数器一起使用,但是可以使用它

fraction = {k: [l.count(e)/len(l) for e in set(l)] for k, l in dict_1.items()}
但这意味着时间短而不一定有效。如果需要更快,你可以做其他事情。如果你想让它们成为字符串,那么

fraction = {k: [f'{e.count(l)}/{len(l)}' for e in set(l)] for k, l in dict_1.items()}

如果您想将它们作为简化分数的字符串,请使用模块使用分数的版本

from fractions import Fraction
{k: [Fraction(v[i], sum(v.values())) for i in v] for k, v in dict_2.items()}

使用分数的版本

from fractions import Fraction
{k: [Fraction(v[i], sum(v.values())) for i in v] for k, v in dict_2.items()}

你想要那些分数作为字符串吗?另外,dict_1和dict_2只是相同数据的不同表达式,对吗?不,我不希望这些分数作为字符串。是的,dict_1和dict_2具有相同的键,但dict_2计算了dict_1值的频率。是否将这些分数作为字符串?另外,dict_1和dict_2只是相同数据的不同表达式,对吗?不,我不希望这些分数作为字符串。是的,dict_1和dict_2有相同的键,但是dict_2计算了dict_1值的频率。这很好,但必须有l.counte。如果键是“B”,则结果是[1/2],而不是[1/2,1/2]。这很好,但必须有l.counte。如果键是“B”,则结果是[1/2],而不是[1/2,1/2]。