Pythonの演習は答える:ゼロに近い[難易度:レベル1] - あなたが挑戦するのを待っているのPythonプログラミング例合宿千タイトルトラックのマシンを見ます

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/aumtopsale/article/details/102752567

ゼロ[:レベル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]



Pythonの基礎訓練キャンプもっと見るPythonのベースキャンプのQQグループ

ここに画像を挿入説明
卒業生プラスグループディスカッションへようこそ、一緒に学び、一緒に成長!

おすすめ

転載: blog.csdn.net/aumtopsale/article/details/102752567