选择价值最大的清单

Wan*_*ran 4 python list python-3.x

我有两个数字列表,并且我想要一个函数返回具有最大数字的列表,即具有两个列表,[1,2,3,9]并且[4,5,6,7,8]该函数应该返回[1,2,3,9]

我知道这可行:

a = [1,2,3,9]
b = [4,5,6,7,8]
ans = [_ for _ in [a,b] if max(_) == max((max(a),max(b)))][0]
Run Code Online (Sandbox Code Playgroud)

我知道有:

a = [1,2,3,9]
b = [4,5,6,7,8]
if max(a)>max(b):
    ans = a
else:
    ans = b
Run Code Online (Sandbox Code Playgroud)

但是,有没有更有效的一线或两线解决方案?

She*_*ore 9

在没有任何for循环的情况下如何使用以下代码。只是比较max列表

a = [1,2,3,9]
b = [4,5,6,7,8]
ans = (a if max(a) > max(b) else b)
# [1, 2, 3, 9]
Run Code Online (Sandbox Code Playgroud)

  • @w如果max(a)> max(b)则返回a,否则返回b。元组由`(a,)`创建-参见[三元运算符](/sf/ask/27636661/) (2认同)