*Memo:
- My post explains format_map().
- My post explains Format Specification with format_map() (1).
- My post explains Format Specification with format_map() (2).
- My post explains Format Specification with format_map() (3).
- My post explains Format Specification with format_map() (4).
- My post explains format().
- My post explains f-strings.
- My post explains a string.
:[f][a][s][z][#][0][w][g][.p][t]
can format a string with format_map() as shown below:
<Format a string with 'float' input by or not by 'g' or 'G'>:
v = {'k':123456.78912}
# | 11 |
print(v['k'])
# 123456.78912
# | 11 |
print('"{k:.20g}"'.format_map(v))
print('"{k:.20G}"'.format_map(v))
print('"{k:.20}"'.format_map(v))
# "123456.78912000000128"
# | 20 |
print('"{k:.18g}"'.format_map(v))
print('"{k:.18G}"'.format_map(v))
print('"{k:.18}"'.format_map(v))
# "123456.789120000001"
# | 18 |
print('"{k:.17g}"'.format_map(v))
print('"{k:.17G}"'.format_map(v))
print('"{k:.17}"'.format_map(v))
print('"{k:.11g}"'.format_map(v))
print('"{k:.11G}"'.format_map(v))
print('"{k:.11}"'.format_map(v))
print('"{k:}"'.format_map(v))
print('"{k}"'.format_map(v))
# "123456.78912"
# | 11 |
print('"{k:.10g}"'.format_map(v))
print('"{k:.10G}"'.format_map(v))
print('"{k:.10}"'.format_map(v))
# "123456.7891"
# | 10 |
print('"{k:.9g}"'.format_map(v))
print('"{k:.9G}"'.format_map(v))
print('"{k:.9}"'.format_map(v))
# "123456.789"
# | 9 |
print('"{k:.8g}"'.format_map(v))
print('"{k:.8G}"'.format_map(v))
print('"{k:.8}"'.format_map(v))
# "123456.79"
# | 8 |
print('"{k:.7g}"'.format_map(v))
print('"{k:.7G}"'.format_map(v))
print('"{k:.7}"'.format_map(v))
# "123456.8"
# | 7 |
print('"{k:.6g}"'.format_map(v))
print('"{k:.6G}"'.format_map(v))
print('"{k:g}"'.format_map(v))
print('"{k:G}"'.format_map(v))
# "123457"
# | 6 |
print('"{k:.6}"'.format_map(v))
# "1.23457e+05"
# | 6 |
print('"{k:.5g}"'.format_map(v))
print('"{k:.5}"'.format_map(v))
# "1.2346e+05"
# | 5 |
print('"{k:.5G}"'.format_map(v))
# "1.2346E+05"
# | 5 |
print('"{k:.4g}"'.format_map(v))
print('"{k:.4}"'.format_map(v))
# "1.235e+05"
# | 4 |
print('"{k:.4G}"'.format_map(v))
# "1.235E+05"
# | 4 |
print('"{k:.3g}"'.format_map(v))
print('"{k:.3}"'.format_map(v))
# "1.23e+05"
# |3 |
print('"{k:.3G}"'.format_map(v))
# "1.23E+05"
# |3 |
print('"{k:.2g}"'.format_map(v))
print('"{k:.2}"'.format_map(v))
# "1.2e+05"
# |2|
print('"{k:.2G}"'.format_map(v))
# "1.2E+05"
# |2|
print('"{k:.1g}"'.format_map(v))
print('"{k:.1}"'.format_map(v))
print('"{k:.0g}"'.format_map(v))
print('"{k:.0}"'.format_map(v))
# "1e+05"
print('"{k:.1G}"'.format_map(v))
print('"{k:.0G}"'.format_map(v))
# "1E+05"
print('"{k:#.1g}"'.format_map(v))
print('"{k:#.1}"'.format_map(v))
print('"{k:#.0g}"'.format_map(v))
print('"{k:#.0}"'.format_map(v))
# "1.e+05"
print('"{k:#.1G}"'.format_map(v))
print('"{k:#.0G}"'.format_map(v))
# "1.E+05"
print('"{k:,.20g}"'.format_map(v))
print('"{k:,.20G}"'.format_map(v))
print('"{k:,.20}"'.format_map(v))
# "123,456.78912000000128"
# | 20 |
print('"{k:,g}"'.format_map(v))
print('"{k:,G}"'.format_map(v))
# "123,457"
# | 6 |
print('"{k:,}"'.format_map(v))
# "123,456.78912"
# | 11 |
print('"{k:_.20g}"'.format_map(v))
print('"{k:_.20G}"'.format_map(v))
# "123_456.78912000000128"
# | 20 |
print('"{k:_g}"'.format_map(v))
print('"{k:_G}"'.format_map(v))
# "123_457"
# | 6 |
print('"{k:_}"'.format_map(v))
# "123_456.78912"
# | 11 |
print("{k1:g} {k2:g}".format_map({'k1':float('nan'), 'k2':float('inf')}))
# nan inf
print("{k1:G} {k2:G}".format_map({'k1':float('nan'), 'k2':float('inf')}))
# NAN INF
<Format a string with Decimal() input by or not by 'g' or 'G'>:
from decimal import Decimal
v = {'k':Decimal('123456.78912')}
# | 11 |
print(v['k'])
# 123456.78912
# | 11 |
print('"{k:.20g}"'.format_map(v))
print('"{k:.20G}"'.format_map(v))
print('"{k:.20}"'.format_map(v))
print('"{k:.18g}"'.format_map(v))
print('"{k:.18G}"'.format_map(v))
print('"{k:.18}"'.format_map(v))
print('"{k:.17g}"'.format_map(v))
print('"{k:.17G}"'.format_map(v))
print('"{k:.17}"'.format_map(v))
print('"{k:.11g}"'.format_map(v))
print('"{k:.11G}"'.format_map(v))
print('"{k:.11}"'.format_map(v))
print('"{k:g}"'.format_map(v))
print('"{k:G}"'.format_map(v))
print('"{k:}"'.format_map(v))
print('"{k}"'.format_map(v))
# "123456.78912"
# | 11 |
print('"{k:.10g}"'.format_map(v))
print('"{k:.10G}"'.format_map(v))
print('"{k:.10}"'.format_map(v))
# "123456.7891"
# | 10 |
print('"{k:.9g}"'.format_map(v))
print('"{k:.9G}"'.format_map(v))
print('"{k:.9}"'.format_map(v))
# "123456.789"
# | 9 |
print('"{k:.8g}"'.format_map(v))
print('"{k:.8G}"'.format_map(v))
print('"{k:.8}"'.format_map(v))
# "123456.79"
# | 8 |
print('"{k:.7g}"'.format_map(v))
print('"{k:.7G}"'.format_map(v))
print('"{k:.7}"'.format_map(v))
# "123456.8"
# | 7 |
print('"{k:.6g}"'.format_map(v))
print('"{k:.6G}"'.format_map(v))
print('"{k:.6}"'.format_map(v))
# "123457"
# | 6 |
print('"{k:.5g}"'.format_map(v))
# "1.2346e+5"
# | 5 |
print('"{k:.5G}"'.format_map(v))
print('"{k:.5}"'.format_map(v))
# "1.2346E+5"
# | 5 |
print('"{k:.4g}"'.format_map(v))
# "1.235e+5"
# | 4 |
print('"{k:.4G}"'.format_map(v))
print('"{k:.4}"'.format_map(v))
# "1.235E+5"
# | 4 |
print('"{k:.3g}"'.format_map(v))
# "1.23e+5"
# |3 |
print('"{k:.3G}"'.format_map(v))
print('"{k:.3}"'.format_map(v))
# "1.23E+5"
# |3 |
print('"{k:.2g}"'.format_map(v))
# "1.2e+5"
# |2|
print('"{k:.2G}"'.format_map(v))
print('"{k:.2}"'.format_map(v))
# "1.2E+5"
# |2|
print('"{k:.1g}"'.format_map(v))
print('"{k:.0g}"'.format_map(v))
# "1e+5"
print('"{k:.1G}"'.format_map(v))
print('"{k:.1}"'.format_map(v))
print('"{k:.0G}"'.format_map(v))
print('"{k:.0}"'.format_map(v))
# "1E+5"
print('"{k:#.1g}"'.format_map(v))
print('"{k:#.0g}"'.format_map(v))
# "1.e+5"
print('"{k:#.1G}"'.format_map(v))
print('"{k:#.1}"'.format_map(v))
print('"{k:#.0G}"'.format_map(v))
print('"{k:#.0}"'.format_map(v))
# "1.E+5"
print('"{k:,.20g}"'.format_map(v))
print('"{k:,.20G}"'.format_map(v))
print('"{k:,.20}"'.format_map(v))
print('"{k:,g}"'.format_map(v))
print('"{k:,G}"'.format_map(v))
print('"{k:,}"'.format_map(v))
# "123,456.78912"
# | 11 |
print('"{k:_.20g}"'.format_map(v))
print('"{k:_.20G}"'.format_map(v))
print('"{k:_.20}"'.format_map(v))
print('"{k:_g}"'.format_map(v))
print('"{k:_G}"'.format_map(v))
print('"{k:_}"'.format_map(v))
# ValueError: invalid format string
from decimal import Decimal
print('"{k1:g} {k2:g}"'.format_map({'k1':Decimal(value=float('nan')),
'k2':Decimal(value=float('inf'))}))
print('"{k1:G} {k2:G}"'.format_map({'k1':Decimal(value=float('nan')),
'k2':Decimal(value=float('inf'))}))
# "NaN Infinity"
Top comments (0)