Вывести массив Python с каждым элементом на 12 десятичных знаков - PullRequest
1 голос
/ 27 апреля 2020

У меня уже есть существующий массив в Python, полный числовых c значений. Есть ли хорошая функция для меня, чтобы каждый элемент в списке отображался до 12 десятичных знаков при печати списка?

Заранее спасибо!

Вот как выглядит мой список: [array([-1, -2]), array([ 0.93396226, -0.45283019]), array([2.86792453, 1.09433962]), array([1.86681465, 2.34572697]), ... ]

Ответы [ 2 ]

3 голосов
/ 27 апреля 2020

Вопрос был существенно отредактирован с тех пор, как я ответил. Старый ответ ниже.

Вам нужно будет просто добавить один шаг к l oop из приведенного ниже решения:

# .12 means "to twelve decimal places"
# f means format float
format_string = "{:.12f}"

# your existing list of arrays
arrays = [array(0.1466, 5.0), array(16.789, 5.67)]

# go through your list one by one
for an_array in arrays:
    # (or whatever mechanism you use to access each number in an array)
    for number in an_array:
        # format each number using the format string we created above
        print(format_string.format(number))

Старый ответ (на вопрос «Как напечатать числа из списка до 12 знаков после запятой).

Ответом является форматирование строки. Вот хорошее краткое изложение.

# .12 means "to twelve decimal places"
# f means format float
format_string = "{:.12f}"

# your existing list of numbers
numbers = [0.1466, 5.0, 16.789]

# go through your list one by one
for number in numbers:
    # format each number using the format string we created above
    print(format_string.format(number))

В качестве альтернативы, используя восхитительную f-строку синтаксис:

numbers = [0.1466, 5.0, 16.789]

for number in numbers:
    print(f"{number:.12f}")
1 голос
/ 27 апреля 2020

Вы можете использовать f строк следующим образом:

a = 14.2
b = 14.123131231231231231
print(f'a = {a:.12f}')
print(f'b = {b:.12f}') 

Вывод:

a = 14.200000000000
b = 14.123131231231
...