zip
This commit is contained in:
24
snippets/zip.md
Normal file
24
snippets/zip.md
Normal file
@ -0,0 +1,24 @@
|
||||
### zip
|
||||
|
||||
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. Loops for `max_length` times grouping elements. If lengths of `lists` vary `fill_value` is used. By default `fill_value` is `None`.
|
||||
|
||||
```python
|
||||
|
||||
|
||||
def zip(*args, fillvalue=None):
|
||||
max_length = max([len(arr) for arr in args])
|
||||
result = []
|
||||
for i in range(max_length):
|
||||
result.append([args[k][i] if i < len(args[k])
|
||||
else None for k in range(len(args))])
|
||||
return result
|
||||
|
||||
```
|
||||
|
||||
``` python
|
||||
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]]
|
||||
```
|
||||
Reference in New Issue
Block a user