免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
ゼロ[:レベル1難易度]に最も近いです:
回答1:
def closest(lst):
m = min(lst, key=abs)
return m if m == 0 or -m not in lst else None
回答2:
def closest(lst):
result = min(lst, key=abs)
return result if not result or -result not in lst else None
回答3:
def closest(lst):
m = min(lst, key=lambda x: abs(x))
if not m or -m not in lst: return m
回答4:
def closest(lst):
lst = sorted(set(lst), key=abs)
if len(lst) > 1 and abs(lst[0]) == abs(lst[1]):
return None
return lst[0]
回答5:
def closest(lst):
min_v = min(lst, key=lambda x: abs(x))
return None if -min_v in lst and min_v else min_v
A6:
from functools import reduce; closest=lambda arr: (lambda r: None if r[1] else r[0])(reduce(lambda a,b: [a[0],True] if a[0] and a[0]==-b else [b,False] if abs(b)<abs(a[0]) else a,arr,[999999,False]))
A7:
def closest(lst):
if 0 in lst:
return 0
lst = sorted(lst, key=lambda i: abs(i))
return lst[0] if lst[0] * (-1) not in lst else None
A8:
def closest(arr1):
ranked = sorted(arr1, key = lambda x: abs(x))
lowest = [num for num in arr1 if abs(num) == abs(ranked[0])]
if len(set(lowest)) == 1:
return lowest[0]
else:
return None
A9:
def closest(lst):
lst = sorted(set(lst), key=abs)
return lst[0] if len(lst) < 2 else None if abs(lst[0]) == abs(lst[1]) else lst[0]
10回答:
def closest(lst):
l = sorted(set(lst), key=lambda x: abs(x))
if len(l) == 1 or abs(l[0]) != abs(l[1]):
return l[0]
卒業生プラスグループディスカッションへようこそ、一緒に学び、一緒に成長!