#!/usr/bin/python3.8
from functools import reduce

def mulitem(x):
	return x*x

def mulitem2(x,y):
	return x*y

def multiply(mnum):
	total=1
	for x in mnum:
		total*=x
	return total

def main():
	a=[1,2,3,4,5]
	print(multiply(a))
	# 1. τρόπος list compr
	nl=[x**2 for x in a]
	print (nl)

	#2. τρόπος map
	res=list(map(mulitem,a))
	print (res)

	#3. τρόπος map- lamda
	nres=map(lambda x:x*x,a)
	print (*nres)

	#4. τρόπος 
	nres2=reduce(mulitem2,a)
	print (nres2)

	nres3=reduce(lambda x,y:x*y,a)
	print (nres3)

if __name__=="__main__":
	main()
