.format () возвращает ValueError при использовании {0:g} для удаления конечных нулей

Я пытаюсь создать строку, которая включает случайный поплавок с конечными нулями. Это MWE текстовой строки и моя попытка удалить их с помощью {0:g}:

xn, cod = 'r', 'abc'
ccl = [546.3500, 6785.35416]
ect = [12.350, 13.643241]

text = '${}_{{t}} = {0:g} pm {0:g};{}$'.format(xn, ccl[0], ect[0], cod)
print text

к сожалению, это возвращает:

ValueError: cannot switch from automatic field numbering to manual field specification

этот вопрос использование .format () для форматирования списка с аргументами ширины поля сообщил о той же проблеме, но я не могу понять, как применить ответ, данный там к этой проблеме.

1 ответов


{} использует автоматическую нумерацию полей. {0:g} использует ручную нумерацию полей.

не смешивайте два. Если вы собираетесь использовать ручную нумерацию полей, используйте ее везде:

text = '_{{t}} = {1:g} \pm {2:g}\;{3}$'.format(xn, ccl[0], ect[0], cod)