如何在 fstring 中使用 ljust?
How do you use ljust inside a fstring?
要求
- 我有一些浮点值和字符串,我想在一行中打印出来
- 我要打印多行
- 我希望它的格式类似于 table 没有行
问题
- 浮点值的
-
符号会降低外观(值不会对齐)
- 我可以
f"{myfloat:+}"
给出所有的数值符号。但是,我不能使用 str.ljust
方法
- 我尝试了
f"{str(myfloat:+).ljust(10)}"
,当然会抛出错误
# My current code
values = [-1.0, 2.2]
for value in values:
formatted = str(value).ljust(10)
print(f"someLjustedStrings{formatted}someLjustedStrings")
#Output
#someLjustedStrings-1.0 someLjustedStrings
#someLjustedStrings2.2 someLjustedStrings
#Expected Output (best)
#someLjustedStrings-1.0 someLjustedStrings
#someLjustedStrings+2.2 someLjustedStrings
#OR
#someLjustedStrings-1.0 someLjustedStrings
#someLjustedStrings 2.2 someLjustedStrings
你可以试试这个:
values = [-1.0, 2.2]
for value in values:
print(f"someLjustedStrings{['+', '-'][value<0]}{abs(value):<10}someLjustedStrings")
输出:
someLjustedStrings-1.0 someLjustedStrings
someLjustedStrings+2.2 someLjustedStrings
<
后跟 int
for ljust
>
后跟 int
for rjust
编辑:
如果你想ljust
通过变量:
LJUST = {'value': 10}
values = [-1.0, 2.2]
for value in values:
print(f"someLjustedStrings{['+', '-'][value<0]}{abs(value):<{LJUST['value']}}someLjustedStrings")
输出:
someLjustedStrings-1.0 someLjustedStrings
someLjustedStrings+2.2 someLjustedStrings
要求
- 我有一些浮点值和字符串,我想在一行中打印出来
- 我要打印多行
- 我希望它的格式类似于 table 没有行
问题
- 浮点值的
-
符号会降低外观(值不会对齐) - 我可以
f"{myfloat:+}"
给出所有的数值符号。但是,我不能使用str.ljust
方法 - 我尝试了
f"{str(myfloat:+).ljust(10)}"
,当然会抛出错误
# My current code
values = [-1.0, 2.2]
for value in values:
formatted = str(value).ljust(10)
print(f"someLjustedStrings{formatted}someLjustedStrings")
#Output
#someLjustedStrings-1.0 someLjustedStrings
#someLjustedStrings2.2 someLjustedStrings
#Expected Output (best)
#someLjustedStrings-1.0 someLjustedStrings
#someLjustedStrings+2.2 someLjustedStrings
#OR
#someLjustedStrings-1.0 someLjustedStrings
#someLjustedStrings 2.2 someLjustedStrings
你可以试试这个:
values = [-1.0, 2.2]
for value in values:
print(f"someLjustedStrings{['+', '-'][value<0]}{abs(value):<10}someLjustedStrings")
输出:
someLjustedStrings-1.0 someLjustedStrings
someLjustedStrings+2.2 someLjustedStrings
<
后跟 int
for ljust
>
后跟 int
for rjust
编辑:
如果你想ljust
通过变量:
LJUST = {'value': 10}
values = [-1.0, 2.2]
for value in values:
print(f"someLjustedStrings{['+', '-'][value<0]}{abs(value):<{LJUST['value']}}someLjustedStrings")
输出:
someLjustedStrings-1.0 someLjustedStrings
someLjustedStrings+2.2 someLjustedStrings