вывод lambda функции в комбинации с map
Есть код:
nums = [6, 63, 10, 27, 10, 4, 7]
ost = [3, 7, 9]
ostatok = list(map(lambda pair: pair[0] % pair[1], [(n, o) for n in nums for o in ost]))
result = list(map(lambda x: (f"\nчисло {nums[y]} делится на {ost}" for y in range(len(nums))) if x == 0 else "", [(n) for n in ostatok]))
print(result)
вывод:
[<generator object <lambda>.<locals>.<genexpr> at 0x000002526011E180>, '', '', <generator object <lambda>.<locals>.<genexpr> at
0x000002526011DF50>, <generator object <lambda>.<locals>.<genexpr> at 0x000002526011DEE0>, <generator object <lambda>.<locals>.<genexpr> at 0x000002526011DFC0>, '', '', '', <generator object <lambda>.<locals>.<genexpr> at 0x000002526011E0A0>, '', <generator object <lambda>.<locals>.<genexpr> at 0x000002526011C510>, '', '', '', '', '', '', '', <generator object <lambda>.<locals>.<genexpr> at 0x000002526011E2D0>, '']
должен выводить что-то по типу:
число 6 делится на 3
число 63 делится на 7
и т.д.
Ответы (1 шт):
Автор решения: Amgarak
→ Ссылка
Что-то вы перемудрили, можно всё проще сделать:
from itertools import product
nums = [6, 63, 10, 27, 10, 4, 7]
ost = [3, 7, 9]
result = [f"число {n} делится на {o}" for n, o in product(nums, ost) if n % o == 0]
print("\n".join(result))
Вывод:
число 6 делится на 3
число 63 делится на 3
число 63 делится на 7
число 63 делится на 9
число 27 делится на 3
число 27 делится на 9
число 7 делится на 7
Без использования библиотек?♀️
result = [f"число {n} делится на {o}" for n in nums for o in ost if n % o == 0]