Here are two ways, not so beginner style, I admitt...
Normally, all tcl operations and functions take only scalar values, no
lists:
% expr min(1,2)
1
So to enter a list, it is a bit difficult and requires text operations.
But all math operations may be accessed as functions without expr and
there, you may use a list as operator, using the delist operator {*}.
So, your operations may be expressed as:
% set l {1 2 3 4 5}
% tcl::mathfunc::min {*}$l
1
% tcl::mathfunc::max {*}$l
5
% expr {double([tcl::mathop::+ {*}$l]) / [llength $l] }
3.0
% expr {[tcl::mathop::+ {*}$l] / [llength $l] }
3
You may consider VecTCL to have a full set of Vector operations.