如何舍入组合字典中的值
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'
发生这种情况是因为您的 values
是 list
。您需要迭代值然后将它们四舍五入:
for key, value in frequencies.items():
frequencies[key] = [round(v,2) for v in value]
我有一个名为 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'
发生这种情况是因为您的 values
是 list
。您需要迭代值然后将它们四舍五入:
for key, value in frequencies.items():
frequencies[key] = [round(v,2) for v in value]