显示列表中的信息时,有没有办法四舍五入到小数点后两位?

通常,当您想显示一个四舍五入到小数点后两位的数字时,可以执行以下操作:(python)

sample_value = 302.2393583
print ('The number is %.2f' %sample_value)

但是,如果您拥有值列表,该怎么办?我将与股票价格有关的CSV文件转换为每个月股票的平均值列表。这是一个长度为50的列表,每个项目都有三个单独的子值。我使用了for循环来打印此列表的值:

for i in range(0,len(ListOfAverages),1):
     print(ListOfAverages[i])

但是我找不到一种方法可以将列表中的一些平均值四舍五入到小数点后两位。怎么做? 这是我的输出:

List format is year,month,average
['2008','09',437.7042857142857]
['2008','08',485.9066666666667]
['2008','07',510.0277272727273]
['2008','06',556.3152380952381]
['2008','05',575.9180952380952]
['2008','04',497.57772727272726]
['2008','03',440.334]
['2008','02',503.7955]
['2007','01',611.8104761904763]
['2007','12',695.3980000000003]
['2007','11',676.3652380952382]
['2007','10',635.3908695652173]
['2007',540.4268421052631]
['2007',509.83043478260885]
['2007',532.4799999999999]
['2007',515.0209523809524]
['2007',473.0109090909091]
['2007',472.49800000000016]
['2007',452.91181818181826]
['2007',467.2173684210527]
['2006',490.581]
['2006',473.497]
['2006',485.63238095238097]
['2006',440.53454545454554]
['2006',397.062]
['2006',377.08869565217395]
['2006',403.5345]
['2006',393.59363636363634]
['2006',383.79545454545456]
['2006',413.7778947368421]
['2006',358.8682608695653]
['2006',370.00052631578956]
['2005',445.7119999999999]
['2005',418.95190476190476]
['2005',399.1352380952381]
['2005',322.4704761904762]
['2005',304.23952380952375]
['2005',286.9234782608696]
['2005',298.2115]
['2005',287.54545454545456]
['2005',239.70999999999998]
['2005',199.21476190476187]
['2005',181.1581818181818]
['2005',195.01368421052635]
['2004',192.846]
['2004',181.76999999999998]
['2004',177.4952380952381]
['2004',153.23095238095237]
['2004',113.22714285714288]
['2004',105.26222222222222]
shanlovehua 回答:显示列表中的信息时,有没有办法四舍五入到小数点后两位?

可以通过以下程序实现:

#!/usr/bin/env python3

list_of_averages = [
    ['2008','09',437.7042857142857],['2008','08',485.9066666666667],'07',510.0277272727273],'06',556.3152380952381],'05',575.9180952380952],'04',497.57772727272726],'03',440.334],'02',503.7955],['2007','01',611.8104761904763],'12',695.3980000000003],'11',676.3652380952382],'10',635.3908695652173],540.4268421052631],509.83043478260885],532.4799999999999],515.0209523809524],473.0109090909091],472.49800000000016],452.91181818181826],467.2173684210527],['2006',490.581],473.497],485.63238095238097],440.53454545454554],397.062],377.08869565217395],403.5345],393.59363636363634],383.79545454545456],413.7778947368421],358.8682608695653],370.00052631578956],['2005',445.7119999999999],418.95190476190476],399.1352380952381],322.4704761904762],304.23952380952375],286.9234782608696],298.2115],287.54545454545456],239.70999999999998],199.21476190476187],181.1581818181818],195.01368421052635],['2004',192.846],181.76999999999998],177.4952380952381],153.23095238095237],113.22714285714288],105.26222222222222],]

for row in list_of_averages:
    print('{},{},{:.2f}'.format(*row))

它将遍历列表中的所有行/项目,并根据格式字符串'{},{:.2f}'打印每一行。输出为:

2008,09,437.70
2008,08,485.91
2008,07,510.03
2008,06,556.32
2008,05,575.92
2008,04,497.58
2008,03,440.33
2008,02,503.80
2007,01,611.81
2007,12,695.40
2007,11,676.37
2007,10,635.39
2007,540.43
2007,509.83
2007,532.48
2007,515.02
2007,473.01
2007,472.50
2007,452.91
2007,467.22
2006,490.58
2006,473.50
2006,485.63
2006,440.53
2006,397.06
2006,377.09
2006,403.53
2006,393.59
2006,383.80
2006,413.78
2006,358.87
2006,370.00
2005,445.71
2005,418.95
2005,399.14
2005,322.47
2005,304.24
2005,286.92
2005,298.21
2005,287.55
2005,239.71
2005,199.21
2005,181.16
2005,195.01
2004,192.85
2004,181.77
2004,177.50
2004,153.23
2004,113.23
2004,105.26
本文链接:https://www.f2er.com/3155312.html

大家都在问