pce*_*con 3 python dictionary numbers key
我正在用这个简单的代码创建一个字典:
pixel_histogram = {}
min_value = -0.2
max_value = 0.2
interval_size = (math.fabs(min_value) + math.fabs(max_value))/bins
for i in range(bins):
key = min_value+(i*interval_size)
print key
pixel_histogram[key] = 0
print pixel_histogram
Run Code Online (Sandbox Code Playgroud)
但我有点惊讶,因为我的印刷品得到了这些值:
#Printing keys
-0.2
-0.16
-0.12
-0.08
-0.04
0.0
0.04
0.08
0.12
0.16
#Printing the dictionary
{0.0: 0,
-0.08000000000000002: 0,
0.15999999999999998: 0,
-0.16: 0,
0.12: 0,
-0.12000000000000001: 0,
0.08000000000000002: 0,
-0.04000000000000001: 0,
-0.2: 0,
0.03999999999999998: 0}
Run Code Online (Sandbox Code Playgroud)
我没弄清楚为什么值不同,我怎么能解决这个问题.任何帮助,将不胜感激.谢谢.
Python的print语句用于str()正在打印的项目.对于浮点值,str()将打印最多一定数量的十进制值.
打印字典时,该print语句调用str()字典对象.字典在其__str__()方法定义中用于repr()键.该repr()浮点值函数打印到更多小数位数比str()功能一样.
字典使用repr()而不是str()键的原因是你几乎肯定希望以print {'1': 1}不同的方式看待打印print {1: 1}.
| 归档时间: |
|
| 查看次数: |
802 次 |
| 最近记录: |