我试图从函数打印返回但是我收到此错误消息:
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'))
我不确定为什么我收到此错误消息或含义。
答案 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])