*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)