Short code snippets for all your development needs

Start of main content## Recommended snippets

Merges two or more lists into a list of lists, combining elements from each of the input lists based on their positions.

- Use
`max()`

combined with a list comprehension to get the length of the longest list in the arguments. - Use
`range()`

in combination with the`max_length`

variable to loop as many times as there are elements in the longest list. - If a list is shorter than
`max_length`

, use`fill_value`

for the remaining items (defaults to`None`

). `zip()`

and`itertools.zip_longest()`

provide similar functionality to this snippet.

def merge(*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 fill_value for k in range(len(args)) ]) return result

merge(['a', 'b'], [1, 2], [True, False]) # [['a', 1, True], ['b', 2, False]] merge(['a'], [1, 2], [True, False]) # [['a', 1, True], [None, 2, False]] merge(['a'], [1, 2], [True, False], fill_value = '_') # [['a', 1, True], ['_', 2, False]]

### count_by

Python, List

Groups the elements of a list based on the given function and returns the count of elements in each group.

### difference_by

Python, List

Returns the difference between two lists, after applying the provided function to each list element of both.

### symmetric_difference_by

Python, List

Returns the symmetric difference between two lists, after applying the provided function to each list element of both.