私はPythonを初めて使用するので、素朴な質問に耐えてください。
数値のベクトルを取り、それらの平均値を計算する関数を書きたいと思います。だから私は小さな関数を次のように書きます
def my_mean(*args):
if len(args) == 0:
return None
else:
total = sum(args)
ave = 1.0 * total / len(args)
return ave
my_mean(1, 2, 3)
2.0
ただし、引数が数値のリストである場合、この関数は機能しません。例えば、
my_mean([1, 2, 3])
Traceback (most recent call last):
File "/usr/lib/wingide-101-4.1/src/debug/tserver/_sandbox.py", line 1, in <module>
# Used internally for debug sandbox under external interpreter
File "/usr/lib/wingide-101-4.1/src/debug/tserver/_sandbox.py", line 21, in my_mean
TypeError: unsupported operand type(s) for +: 'int' and 'list'
引数としてリストを受け取る関数がありますが、数値のベクトルは取りませNumPy
ん。numpy.mean
my_mean
my_mean
どちらの場合も仕事をする方法があるのだろうか?それで:
my_mean(1, 2, 3)
2.0
my_mean([1, 2, 3])
2.0
のようにmin
またはmax
機能しますか?