Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from functools import reduce
- def vector_items(vec):
- vec_iter = iter(vec)
- while True:
- val, n = next(vec_iter), next(vec_iter)
- for _ in range(n):
- yield val
- def scalar_product(vec1, vec2):
- return reduce(lambda acc, i: acc + i[0] * i[1],
- zip(vector_items(vec1), vector_items(vec2)),
- 0)
- if __name__ == "__main__":
- first_list = [1, 4, 3, 4, 5, 3, 1, 5]
- second_list = [3, 5, 4, 6, 5, 5]
- print(scalar_product(first_list, second_list))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement