Iny*_*Kim 1 python string formatting
要求
问题
-会降低外观(这些值不会对齐)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
Run Code Online (Sandbox Code Playgroud)
你可以试试这个:
values = [-1.0, 2.2]
for value in values:
print(f"someLjustedStrings{['+', '-'][value<0]}{abs(value):<10}someLjustedStrings")
Run Code Online (Sandbox Code Playgroud)
输出:
someLjustedStrings-1.0 someLjustedStrings
someLjustedStrings+2.2 someLjustedStrings
Run Code Online (Sandbox Code Playgroud)
<接下来是int对于ljust
>接下来是int对于rjust
编辑:
如果你想ljust通过变量:
LJUST = {'value': 10}
values = [-1.0, 2.2]
for value in values:
print(f"someLjustedStrings{['+', '-'][value<0]}{abs(value):<{LJUST['value']}}someLjustedStrings")
Run Code Online (Sandbox Code Playgroud)
输出:
someLjustedStrings-1.0 someLjustedStrings
someLjustedStrings+2.2 someLjustedStrings
Run Code Online (Sandbox Code Playgroud)