python - 两个格式化字符串合二为一,只有一个值
问题描述
我想要一个字符串,我可以用整数格式化它,以便它:
- 在整数前面添加一个符号(+ 表示正整数,- 表示负整数)
- 用括号括住有符号的 int(即用 ())
- 将 int 与左侧的括号左对齐,必要时在末尾添加空格。
我知道如何分别执行这些步骤,但我无法将它们组合成一个字符串。
例如,1 和 2 将完成'({:+d})'.format(3)
,这将导致(+3)
.
3 对带有 的任意字符串完成'{:<5}'.format(3)
,这将导致3
(4 个尾随空格)。
我的目标是有一个字符串,我只能调用.format
一次,因此
format_string.format(3)
会导致
(+3)
一个尾随空格使字符串长度为 5。
这可能吗?
我已经尝试过({{:+d}:<5})
,但这不起作用,因为它认为{:+d}
是要格式化的字段名称<5
,显然不是这样。
我还研究了 f 字符串,但这些不适合我的用例,因为我.format
在创建格式字符串之后才调用它。
任何帮助都将受到欢迎!
解决方案
一次调用的解决方案format
:
def special_format_int(n, SPACES=5):
return '({:+d})'.format(n).ljust(SPACES)
推荐阅读
- javascript - Javascript。未捕获的 ReferenceError:未定义空间
- c++ - C ++中的非虚拟指针?
- python - BeautifulSoup - 我如何抓取多个链接然后抓取链接的内容
- java - 使用动态规划的矩阵路径
- g++ - 在 Windows 10 上链接 Armadillo 和 OpenBlas
- java - 如何从 micronaut 上的 MethodInterpcetor 获取授权标头?
- c# - 比较 C# 中的派生对象列表
- c++ - 调用 C++ 中接受对象和成员函数的模板化成员函数
- powershell - 获取 GPOReport 并搜索匹配的名称值
- html - 我的标题中的链接没有加载新页面