显示列表中的信息时,有没有办法四舍五入到小数点后两位?
Is there a way to round to two decimal places when displaying info from a list?
通常,当你想显示一个四舍五入到小数点后两位的数字时,你会这样做:(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', '09', 540.4268421052631]
['2007', '08', 509.83043478260885]
['2007', '07', 532.4799999999999]
['2007', '06', 515.0209523809524]
['2007', '05', 473.0109090909091]
['2007', '04', 472.49800000000016]
['2007', '03', 452.91181818181826]
['2007', '02', 467.2173684210527]
['2006', '01', 490.581]
['2006', '12', 473.497]
['2006', '11', 485.63238095238097]
['2006', '10', 440.53454545454554]
['2006', '09', 397.062]
['2006', '08', 377.08869565217395]
['2006', '07', 403.5345]
['2006', '06', 393.59363636363634]
['2006', '05', 383.79545454545456]
['2006', '04', 413.7778947368421]
['2006', '03', 358.8682608695653]
['2006', '02', 370.00052631578956]
['2005', '01', 445.7119999999999]
['2005', '12', 418.95190476190476]
['2005', '11', 399.1352380952381]
['2005', '10', 322.4704761904762]
['2005', '09', 304.23952380952375]
['2005', '08', 286.9234782608696]
['2005', '07', 298.2115]
['2005', '06', 287.54545454545456]
['2005', '05', 239.70999999999998]
['2005', '04', 199.21476190476187]
['2005', '03', 181.1581818181818]
['2005', '02', 195.01368421052635]
['2004', '01', 192.846]
['2004', '12', 181.76999999999998]
['2004', '11', 177.4952380952381]
['2004', '10', 153.23095238095237]
['2004', '09', 113.22714285714288]
['2004', '08', 105.26222222222222]
可以通过以下程序实现:
#!/usr/bin/env python3
list_of_averages = [
['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', '09', 540.4268421052631],
['2007', '08', 509.83043478260885],
['2007', '07', 532.4799999999999],
['2007', '06', 515.0209523809524],
['2007', '05', 473.0109090909091],
['2007', '04', 472.49800000000016],
['2007', '03', 452.91181818181826],
['2007', '02', 467.2173684210527],
['2006', '01', 490.581],
['2006', '12', 473.497],
['2006', '11', 485.63238095238097],
['2006', '10', 440.53454545454554],
['2006', '09', 397.062],
['2006', '08', 377.08869565217395],
['2006', '07', 403.5345],
['2006', '06', 393.59363636363634],
['2006', '05', 383.79545454545456],
['2006', '04', 413.7778947368421],
['2006', '03', 358.8682608695653],
['2006', '02', 370.00052631578956],
['2005', '01', 445.7119999999999],
['2005', '12', 418.95190476190476],
['2005', '11', 399.1352380952381],
['2005', '10', 322.4704761904762],
['2005', '09', 304.23952380952375],
['2005', '08', 286.9234782608696],
['2005', '07', 298.2115],
['2005', '06', 287.54545454545456],
['2005', '05', 239.70999999999998],
['2005', '04', 199.21476190476187],
['2005', '03', 181.1581818181818],
['2005', '02', 195.01368421052635],
['2004', '01', 192.846],
['2004', '12', 181.76999999999998],
['2004', '11', 177.4952380952381],
['2004', '10', 153.23095238095237],
['2004', '09', 113.22714285714288],
['2004', '08', 105.26222222222222],
]
for row in list_of_averages:
print('{}, {}, {:.2f}'.format(*row))
它将遍历列表中的所有 rows/items 并根据格式字符串 '{}, {}, {:.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, 09, 540.43
2007, 08, 509.83
2007, 07, 532.48
2007, 06, 515.02
2007, 05, 473.01
2007, 04, 472.50
2007, 03, 452.91
2007, 02, 467.22
2006, 01, 490.58
2006, 12, 473.50
2006, 11, 485.63
2006, 10, 440.53
2006, 09, 397.06
2006, 08, 377.09
2006, 07, 403.53
2006, 06, 393.59
2006, 05, 383.80
2006, 04, 413.78
2006, 03, 358.87
2006, 02, 370.00
2005, 01, 445.71
2005, 12, 418.95
2005, 11, 399.14
2005, 10, 322.47
2005, 09, 304.24
2005, 08, 286.92
2005, 07, 298.21
2005, 06, 287.55
2005, 05, 239.71
2005, 04, 199.21
2005, 03, 181.16
2005, 02, 195.01
2004, 01, 192.85
2004, 12, 181.77
2004, 11, 177.50
2004, 10, 153.23
2004, 09, 113.23
2004, 08, 105.26
通常,当你想显示一个四舍五入到小数点后两位的数字时,你会这样做:(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', '09', 540.4268421052631]
['2007', '08', 509.83043478260885]
['2007', '07', 532.4799999999999]
['2007', '06', 515.0209523809524]
['2007', '05', 473.0109090909091]
['2007', '04', 472.49800000000016]
['2007', '03', 452.91181818181826]
['2007', '02', 467.2173684210527]
['2006', '01', 490.581]
['2006', '12', 473.497]
['2006', '11', 485.63238095238097]
['2006', '10', 440.53454545454554]
['2006', '09', 397.062]
['2006', '08', 377.08869565217395]
['2006', '07', 403.5345]
['2006', '06', 393.59363636363634]
['2006', '05', 383.79545454545456]
['2006', '04', 413.7778947368421]
['2006', '03', 358.8682608695653]
['2006', '02', 370.00052631578956]
['2005', '01', 445.7119999999999]
['2005', '12', 418.95190476190476]
['2005', '11', 399.1352380952381]
['2005', '10', 322.4704761904762]
['2005', '09', 304.23952380952375]
['2005', '08', 286.9234782608696]
['2005', '07', 298.2115]
['2005', '06', 287.54545454545456]
['2005', '05', 239.70999999999998]
['2005', '04', 199.21476190476187]
['2005', '03', 181.1581818181818]
['2005', '02', 195.01368421052635]
['2004', '01', 192.846]
['2004', '12', 181.76999999999998]
['2004', '11', 177.4952380952381]
['2004', '10', 153.23095238095237]
['2004', '09', 113.22714285714288]
['2004', '08', 105.26222222222222]
可以通过以下程序实现:
#!/usr/bin/env python3
list_of_averages = [
['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', '09', 540.4268421052631],
['2007', '08', 509.83043478260885],
['2007', '07', 532.4799999999999],
['2007', '06', 515.0209523809524],
['2007', '05', 473.0109090909091],
['2007', '04', 472.49800000000016],
['2007', '03', 452.91181818181826],
['2007', '02', 467.2173684210527],
['2006', '01', 490.581],
['2006', '12', 473.497],
['2006', '11', 485.63238095238097],
['2006', '10', 440.53454545454554],
['2006', '09', 397.062],
['2006', '08', 377.08869565217395],
['2006', '07', 403.5345],
['2006', '06', 393.59363636363634],
['2006', '05', 383.79545454545456],
['2006', '04', 413.7778947368421],
['2006', '03', 358.8682608695653],
['2006', '02', 370.00052631578956],
['2005', '01', 445.7119999999999],
['2005', '12', 418.95190476190476],
['2005', '11', 399.1352380952381],
['2005', '10', 322.4704761904762],
['2005', '09', 304.23952380952375],
['2005', '08', 286.9234782608696],
['2005', '07', 298.2115],
['2005', '06', 287.54545454545456],
['2005', '05', 239.70999999999998],
['2005', '04', 199.21476190476187],
['2005', '03', 181.1581818181818],
['2005', '02', 195.01368421052635],
['2004', '01', 192.846],
['2004', '12', 181.76999999999998],
['2004', '11', 177.4952380952381],
['2004', '10', 153.23095238095237],
['2004', '09', 113.22714285714288],
['2004', '08', 105.26222222222222],
]
for row in list_of_averages:
print('{}, {}, {:.2f}'.format(*row))
它将遍历列表中的所有 rows/items 并根据格式字符串 '{}, {}, {:.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, 09, 540.43
2007, 08, 509.83
2007, 07, 532.48
2007, 06, 515.02
2007, 05, 473.01
2007, 04, 472.50
2007, 03, 452.91
2007, 02, 467.22
2006, 01, 490.58
2006, 12, 473.50
2006, 11, 485.63
2006, 10, 440.53
2006, 09, 397.06
2006, 08, 377.09
2006, 07, 403.53
2006, 06, 393.59
2006, 05, 383.80
2006, 04, 413.78
2006, 03, 358.87
2006, 02, 370.00
2005, 01, 445.71
2005, 12, 418.95
2005, 11, 399.14
2005, 10, 322.47
2005, 09, 304.24
2005, 08, 286.92
2005, 07, 298.21
2005, 06, 287.55
2005, 05, 239.71
2005, 04, 199.21
2005, 03, 181.16
2005, 02, 195.01
2004, 01, 192.85
2004, 12, 181.77
2004, 11, 177.50
2004, 10, 153.23
2004, 09, 113.23
2004, 08, 105.26