Python: распечатать список чисел в научной нотации - PullRequest
2 голосов
/ 06 ноября 2019

Справочная информация:

local_print = [0.03, 535, 7]

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

for x in local_print:
    print('{:.3e}'.format(x))

Без научной записи это может быть напечатано следующим образом:

print(*local_print, sep='\t')

Вопрос

Есть ли способ объединить эти два метода печати? Я хочу напечатать, используя

print(*local_print, sep='\t')

в научном формате.

Ответы [ 3 ]

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

Вы также можете использовать понимание списка

local_print = [0.03, 535, 7]
print('\t'.join(['{:.3e}'.format(x) for x in local_print]))
1 голос
/ 06 ноября 2019

Если вам нужен более простой способ, просто распечатайте из другого списка.

scientific = []
for x in local_print:
    scientific.append('{:.3e}'.format(x))
print(*scientific, sep='\t')

Вывод:

3.000e-02      5.350e+02      7.000e+00
1 голос
/ 06 ноября 2019

Обычным способом является использование выражения генератора:

 print(*('{:.3e}'.format(x) for x in local_print), sep='\t')
...