Python 强制列表中的数字保留两位小数
我有一个从GIS文件(.shp)读取的数字数据列表:Python 强制列表中的数字保留两位小数,python,list,formatting,decimal,Python,List,Formatting,Decimal,我有一个从GIS文件(.shp)读取的数字数据列表: dataList=[4.98,5.09,5.23,5.35,5.4,5.59,…] 我正在寻找一种方法,强制此列表中的数字显示为小数点后两位,输出如下: dataList=[4.98,5.09,5.23,5.35,5.40,5.59,…] 主要问题是,我在一个单独的地图文档中以循环方式显示每个项目,其中包含以下内容: TextElement11.text=dataList[count]不支持我在别处找到的“{.2f}”或.format(5)解
dataList=[4.98,5.09,5.23,5.35,5.4,5.59,…]
我正在寻找一种方法,强制此列表中的数字显示为小数点后两位,输出如下:
dataList=[4.98,5.09,5.23,5.35,5.40,5.59,…]
主要问题是,我在一个单独的地图文档中以循环方式显示每个项目,其中包含以下内容:
TextElement11.text=dataList[count]
不支持我在别处找到的“{.2f}”或.format(5)
解决方案
此列表中的项目仅用于显示目的,因此解决方案是否需要转换(例如转换为字符串)并不重要
我正在使用Python 2.7。遍历数据列表并将每个值转换为格式化字符串:
new_datalist = ["{:.2f}".format(value) for value in dataList]
最具Python风格的方法是使用map()
和lambda
函数
map(lambda x: "{:.2f}".format(x), dataList)
谢谢最初我确实尝试过这个方法,但我认为我使用了相同的列表,例如,dataList=[“{.2f}”.format(value)for value in dataList]
,这导致了错误。我还不配给你一个+1,所以我的感激之情现在就到此为止。