min_in_list(munbers)
数値のリストを受け取り、最小のものを返す関数を作成する必要があります。注:組み込み関数min
は許可されていません!
def min_in_list(numbers):
the_smallest = [n for n in numbers if n < n+1]
return the_smallest
どうしたの?
def min_of_two(x, y):
if x >= y: return x
else: return y
def min_in_list(numbers):
return reduce(min_of_two, numbers)
別のリストだけでなく、リストから1つの番号を作成する必要があります。そして、これはreduce
関数のための作業です(もちろん、なしで実装できますがreduce
、それとの類推によって)。
どうぞ。これはほぼ間違いなく、あなたがそれを作ることができるのと同じくらい簡単です。課題を提出するときに、私にクレジットを与える必要はありません。
import itertools
import functools
import operator
def min(seq, keyfun=operator.gt):
lt = lambda n: functools.partial(keyfun, n)
for i in seq:
lti = lt(i)
try:
next(itertools.ifilter(lti, seq))
except:
return i
min = lambda n: return reduce(lambda x,y: (x>y) and return x or return y,n)
テストされたことはありません。自己責任で使用してください。