我有一个名为频率的组合字典它比较了同一个单词在两组不同文本中的出现频率:
{'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'
这是因为您的values
是list
。你需要迭代值,然后四舍五入:
for key, value in frequencies.items():
frequencies[key] = [round(v,2) for v in value]