打印时如何在列表元素前面添加“ +”或“-”

时间:2019-09-12 08:09:54

标签: python-3.x list append

我有一个带有多个功能的python代码,我想在打印的列表元素前面添加“ +”或“-”。例如,如果我有列表[5, 10, 60],并且每个数字都代表我的银行帐户中的一项操作。 所以我希望打印出来的像这样:

-5
-10
+60

所以很明显我是从银行取出还是从银行收到钱。

我尝试了list.append("+", cash),这里的现金代表的是从我的银行加钱的功能获得的价值

handling=[]

    elif valg==2:
        global cash
        cash=float(input("beløp: "))
        innskudd(cash)
        handling.append(cash)
    elif valg==5:
        print(handling)

当我尝试.append("+", cash)时,收到一条错误消息,指出一次只能添加一个元素

在将列表-processing []放在函数之外之前,我只返回了一个空列表。如果可能的话,我也希望列表包含在函数中。

2 个答案:

答案 0 :(得分:1)

您可以为此使用format,例如:

print([format(i, '+0.2f') for i in [20, 0.1, 0.5, -0.89]])

# output: ['+20.00', '+0.10', '+0.50', '-0.89']

您可以了解有关字符串格式here

的更多信息

答案 1 :(得分:0)

您可以修改代码以将单个元素添加到列表中,或者采用字符串格式。

选项1:将list.append('+', cash)更改为

handling.append( '+' + str(cash) )

这会将cash转换为字符串,并将其与'+'连接,并将结果字符串附加到列表中。

选项2:使用f-strings(可从Python 3.6获得,否则使用@Heike的答案)

handling = [f'{i:+0.2f}' for i in cash_values]