【发布时间】:2018-09-17 18:52:44
【问题描述】:
我有两个名为 results 和 p_results 的列表。我想在表中显示这些列表值,例如 if
results = [1,2,3,4]
p_results = [5,6,7,8]
我想要这样的东西
1 5
2 6
3 7
4 8
print('{:3}{:20}'.format(results, p_results))
运行代码:
runfile('D:/4/2d.py', wdir='D:/4')
Traceback (most recent call last):
File "<ipython-input-59-1abb0c96f0c0>", line 1, in <module>
runfile('D:/4/2d.py', wdir='D:/4')
File "C:\Users\Rabinsen\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 668, in runfile
execfile(filename, namespace)
File "C:\Users\Rabinsen\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "D:/4/2d.py", line 61, in <module>
print('{:3}{:20}'.format(results, p_results))
TypeError: unsupported format string passed to list.__format__
【问题讨论】:
-
将列表作为参数传递对格式选项的限制更大。你能创建一个minimal reproducible example,包含输入和你想要输出的内容吗?
-
bin_freqs(或者至少是它的缩进)几乎肯定是错误的;您的循环都不是一次以上的迭代,因为您在if语句的两个分支中都返回。 -
在 StackOverflow 上提出一个好问题的关键,实际上也是良好调试的关键,是隔离问题。该错误为您提供了在调用 print 函数时出现问题的线索。
-
我刚刚编辑了这个问题,你能再检查一遍吗@Jean-FrançoisFabre
-
您的问题中的代码太多。只是格式问题。 2 到 3 行代码就足以重现它。
标签: python list string-formatting