是否有可能在列中獲得不同的長度?當我嘗試在PrettyTable中使用列表時,出現錯誤:列長度不匹配。因爲一個列表中有更多的項目,那麼另一個列表。不同的列長PrettyTable
實施例:
ListA = ("111", "222")
ListB = ("333")
PrettyTable:
t = Prettytable([])
t.add_column('Test1', ListA)
t.add_column('Test2', ListB)
print(t)
是否有可能在列中獲得不同的長度?當我嘗試在PrettyTable中使用列表時,出現錯誤:列長度不匹配。因爲一個列表中有更多的項目,那麼另一個列表。不同的列長PrettyTable
實施例:
ListA = ("111", "222")
ListB = ("333")
PrettyTable:
t = Prettytable([])
t.add_column('Test1', ListA)
t.add_column('Test2', ListB)
print(t)
解決方法使用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)
,將產生長度最長的列表的序列,填充空s用於較短的列表(作爲獎勵使用循環而不是多個add_column
調用)
當我嘗試時出現以下錯誤:例外:列長度0不匹配行數1! –
對不起,這是錯的。看我的編輯。 –
是的,它現在正在工作。感謝您的幫助。 –
爲什麼不讓列的長度相同? –
由於列表長度不同,因此其中有10個項目,其他5個。 –
使用下面答案中的方法。 –