Source code for one_line.one_line

from itertools import accumulate, chain, combinations
import operator

print('one-line')

arr = [1,2,3,4,5,6,7,8]
[docs] def prefix_sums(arr: list[int]) -> list[int]: ''' calculate array of prefix sums ''' return [0] + list(accumulate(arr, operator.add))
print(f'init arr = {arr}, prefix sums = {prefix_sums(arr)}') matrix = [[1, 2, 3], [4, 5, 6]]
[docs] def transpose(matrix: list[list[int]]) -> list[int]: ''' transpose matrix given as python nested list ''' return list(map(list, zip(*matrix)))
print(f'init matrix is {matrix}, transposed matrix is {transpose(matrix)}') dict1 = {'a': 1, 'b': 2} dict2 = {'b': 3, 'c': 4}
[docs] def merge_dicts(dict1: dict, dict2: dict) -> dict: ''' merge two python dictionaries ''' return {**dict1, **dict2}
print(f'init dict1 = {dict1}, init dict2 = {dict2}, merged dict = {merge_dicts(dict1, dict2)}')
[docs] def power_set(arr: list[int]) -> list[list[int]]: ''' generate power set of given array ''' return list(chain.from_iterable(combinations(arr, r) for r in range(len(arr) + 1)))
arr = [1, 2, 3] print(f'power set of {arr}: {power_set(arr)}')
[docs] def flatten(lst: list[list[int]]) -> list[int]: ''' flatten nested list ''' return [item for sublist in lst for item in sublist]
arr = [[1, 2], [3, 4], [5]] print(f'init arr is {arr}, flattened arr is {flatten(arr)}')