0
我需要做一些非常類似於在這裏提出的問題How would you zip an unknown number of lists in Python?,但是在一個更一般的情況下。用Python處理多個列表的未知列表數量不止一個列表
我有以下設置:
a = [['a', '0', 'b', 'f', '78']]
b = [['3', 'w', 'hh', '12', '8']]
c = [['g', '7', '1', 'a0', '9'], ['45', '4', 'fe', 'h', 'k']]
我需要這些列表壓縮在一起,以獲得:
zip(a[0], b[0], c[0], c[1])
但:
abc = [['a', '3', 'g', '45'], ['0', 'w', '7', '4'], ['b', 'hh', '1', 'fe'], ['f', '12', 'a0', 'h'], ['78', '8', '9', 'k']]
,我可以用產生名單a,b,c
包含許多子列表,這些子列表對於連續運行會有所不同,所以這個「人ual「擴展它們的方式將不起作用。
我能得到的最接近的是:
zip(a[0], b[0], *c)
自比過去的任何其他職位拆包與*
名單是不允許的,「理想」的表達:
zip(*a, *b, *c)
不工作。
我該如何將許多列表與未知數量的子列表一起壓縮?
謝謝以色列!我需要更頻繁地使用'itertools'。 – Gabriel
不客氣。事實上,itertools包含一些有用的功能,比如'groupby','product','permutations','combinations'等等。偉大的模塊,基於發電機。 –