如何在 fstring 中使用 ljust?

How do you use ljust inside a fstring?

要求

问题

# 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