Python como usar o zip
January 04, 2020
Creates a list of elements, grouped based on the position in the original lists.
Use max
combined with list comprehension
to get the length of the longest list in the arguments.
Loop for max_length
times grouping elements.
If lengths of lists
vary, use fill_value
(defaults to None
).
zip()
and itertools.zip_longest()
provide similar functionality to this snippet.
def zip(*args, fill_value=None):
max_length = max([len(lst) for lst in args])
result = []
for i in range(max_length):
result.append([
args[k][i] if i < len(args[k]) else fillvalue for k in range(len(args))
])
return result
zip(['a', 'b'], [1, 2], [True, False]) # [['a', 1, True], ['b', 2, False]]
zip(['a'], [1, 2], [True, False]) # [['a', 1, True], [None, 2, False]]
zip(['a'], [1, 2], [True, False], fill_value = '_') # [['a', 1, True], ['_', 2, False]]
Acesse a Referência original 1: Acesse a Referência original 2: