错误:不支持的格式字符串传递给list .__ format __

时间:2017-12-13 02:10:35

标签: python-3.x

我试图从函数打印返回但是我收到此错误消息:

unsupported format string passed to list.__format__

这是功能:

def award_list(arr, threshold): 
    awards = []
    for i in arr:
        if i >= threshold:
            awards.append(i)
    return awards

以下是印刷声明:

print('These divisions get an award:'+format(award_list(sales_list, threshold), '.2f'))

我不确定为什么我收到此错误消息或含义。

1 个答案:

答案 0 :(得分:1)

list不支持此类格式,因为它是一个列表,而不是一个数字。如果需要格式化具有特定样式的列表,可以使用

result = award_list(sales_list, threshold)
message = ','.join(['{:.2f}'.format(x) for x in result])
print('These divisions get an award: ' + message)

此代码在每个元素上应用格式,然后将结果字符串合并为一个(以逗号分隔)。或者,如果您更喜欢使用format

message = ','.join([format(x, '.2f') for x in result])