Apakah ada fungsi built-in yang berfungsi seperti zip()
tetapi yang akan memberi pad hasil sehingga panjang daftar yang dihasilkan adalah panjang dari input terpanjang daripada input terpendek ?
>>> a = ['a1']
>>> b = ['b1', 'b2', 'b3']
>>> c = ['c1', 'c2']
>>> zip(a, b, c)
[('a1', 'b1', 'c1')]
>>> What command goes here?
[('a1', 'b1', 'c1'), (None, 'b2', 'c2'), (None, 'b3', None)]
itertools
adalah modul builtin C pula.Untuk Python 2.6x gunakan
itertools
modulizip_longest
.Untuk Python 3 gunakan
zip_longest
sebagai gantinya (tidak ada yang memimpini
).sumber
six.moves.zip_longest
.solusi non itertools Python 3:
sumber
solusi non itertools My Python 2:
sumber
Saya menggunakan array 2d tetapi konsepnya mirip dengan menggunakan python 2.x:
sumber