如何舍入组合字典中的值

How to round off values in a combined dictionary

我有一个名为 frequencies 的组合词典,它比较同一单词在两组不同文本中的出现频率:

{'banana': [0, 0.0001505742903433696], 'pear': [0, 2.1510612906195657e-05], 'pineapple': [0, 2.1510612906195657e-05], 'orange': [0, 4.3021225812391315e-05], 'apple': [0, 2.1510612906195657e-05]...}

我想四舍五入并减少小数点,所以它看起来像这样,例如:{'pear': [0, 2,15]}

我试过这个代码:

for x in frequencies:
for key, value in frequencies.items():
        frequencies[key]=round(float(value), 2)

但是我一直收到这个错误:

     frequencies[key]=round(float(value), 2)
TypeError: float() argument must be a string or a number, not 'list'

发生这种情况是因为您的 valueslist。您需要迭代值然后将它们四舍五入:

for key, value in frequencies.items():
    frequencies[key] = [round(v,2) for v in value]