当前位置:  开发笔记 > 编程语言 > 正文

简短的Python代码说"选择较低的价值"?

如何解决《简短的Python代码说"选择较低的价值"?》经验,为你挑选了3个好方法。

我的意思是,我正在寻找返回较低值的真正短代码.例如:

a=[1,2,3,4,5,6,7,8,9,10]
b=[1,2,3,4,5,6,7,8]
len(a) = 10
len(b) = 8
if (fill-this-in):
     print(lesser-value)

我忘了补充一点,如果b低于a,我希望b返回 - 而不是len(b) - 变量b.



1> cschol..:
print(min(a, b))



2> dbr..:

你不是很清楚你想要什么,所以有一些选择.给出以下两个列表:

a = [1,2,3,4,5,6,7,8,9,10]
b = [1,2,3,4,5,6,7,8]

要打印最短的列表,你可以做..

>>> print(min(a, b))
[1, 2, 3, 4, 5, 6, 7, 8]

为了获得最短的长度为号,你可以minlen()每个列表中,或做len(min())(都是相同的,选择哪一个曾经你找到最可读的)..

>>> print(min( len(a), len(b) ))
# or..
>>> print(len( min(a, b) ))
8

要在任一列表中打印最低值,您可以将列表作为单个参数提供给 min()

>>> a.extend(b) # Appends b to a
>>> print a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8]
>>> print(min(a))
1

最后,另一种可能性,总共具有最低值的列表:

>>> max( sum(a), sum(b) )
55

要打印最高的实际列表sum(),您可以使用三元运算符,如...

>>> print a if sum(a) > sum(b) else b
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

..尽管我从来没有真正喜欢(或使用)它,而是使用稍长的常规if/else语句.

>>> if sum(a) > sum(b):
...     print a
... else:
...     print b
... 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]



3> A. Coady..:

如果列表的长度是降低它的值(而不是它的值),那么你实际上想要:

min(a, b, key=len)

这只是偶然相当于

min(a, b)

在给定的例子中.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有