是否有可能在列中获得不同的长度?当我尝试在PrettyTable中使用列表时,我得到错误:列长度不匹配。因为一个列表中有更多项,然后是另一个列表。
示例:
ListA = ("111", "222")
ListB = ("333")
PrettyTable:
t = Prettytable([])
t.add_column('Test1', ListA)
t.add_column('Test2', ListB)
print(t)
答案 0 :(得分:0)
使用zip_longest
和填充值解决此问题,再次包含在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
调用)