是否有可能在列中得到不同的长度?当我试图在PrettyTable中使用一个列表时,我会得到一个错误:列长度不匹配。因为一个列表中的项目比另一个列表多。
示例:
ListA = ("111", "222")
ListB = ("333")PrettyTable:
t = Prettytable([])
t.add_column('Test1', ListA)
t.add_column('Test2', ListB)
print(t)发布于 2016-11-02 10:23:12
使用zip_longest和一个fill值解决此问题,再次包装在zip中以添加标题:
import itertools
titles = ('Test1','Test2')
ListA = ("111", "222")
ListB = ("333",)
t = Prettytable([])
for title,lst in zip(titles,itertools.zip_longest(ListA,ListB,fillvalue="")):
t.add_column(title,lst)这将生成一个长度最长的列表序列,并为较短的列表填充空字符串(而且作为奖励,您使用的是循环而不是多个add_column调用)。
https://stackoverflow.com/questions/40377420
复制相似问题