Есть ли способ округлить до двух знаков после запятой при отображении информации из списка? - PullRequest
0 голосов
/ 06 ноября 2019

Обычно, когда вы хотите отобразить число, округленное до 2 десятичных знаков, вы должны сделать что-то вроде этого: (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]

1 Ответ

0 голосов
/ 06 ноября 2019

Это может быть достигнуто с помощью следующей программы:

#!/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))

Он будет циклически перебирать все строки / элементы в вашем списке и печатать каждую строку в соответствии со строкой форматирования '{}, {}, {:.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
...