Python - %d 格式,非列表

3 投票
2 回答
7287 浏览
提问于 2025-04-17 14:39

我正在尝试把列表中的一个数据值打印到一个文件里。

TypeError: %d format: a number is required, not list

我有点搞不懂……当我试着把它们一个一个打印到屏幕上时,没有任何问题。你能帮我看看问题出在哪里吗?

   print >>map_file0, "%d,%d,%d" % (coreid[0],ret_perf[0][0],llc_perf[0][0])

谢谢

2 个回答

1

根据Python的文档,这里提到,%d 是指带符号的十进制整数。这意味着你想要格式化的一个或多个值其实是列表,而不是整数。你可能有一个列表里面又包含了其他列表。

3

如果你使用的是更新版的字符串格式化,那么就不需要指定数据类型了。

# old
old_method = "%d,%d,%d" % (1, 2, 3)

# new (2.7)
new_method = "{},{},{}".format(1, 2, 3)

撰写回答