十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。
我们提供的服务有:做网站、成都做网站、微信公众号开发、网站优化、网站认证、南岳ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的南岳网站制作公司
x = [3, 2.2, 7.4, 6, 4]
list(enumerate(x))
# 输出 [(0, 3), (1, 2.2), (2, 7.4), (3, 6), (4, 4)]
operator.itemgetter()函数用于获取对象的哪些维的数据,参数为想要取的一些维度序号。
x = [3, 2.2, 7.4, 6, 4]
b1 = operator.itemgetter(2, 1)
b1(x) # 输出 (7.4, 2.2)
b2 = operator.itemgetter(3)
b2(x) # 输出 6
max()函数有一个应用很巧妙的参数key,在这里定义为operator.itemgetter(1),表示对enumerate(x)每个元素的第一维做比较(从0维开始),然后返回第一维值最大的元素,即包含索引和数值。
key参数还有其他的巧妙应用:
# 获取数组中绝对值最大的数
x = [3, 2.2, -7.4, 6, 4]
max(x, key=abs) # 返回 -7.4
# lambda表达式形式
x = [3, 2.2, -7.4, 6, 4]
max(x, key=lambda x: abs(x)) # 返回 -7.
python的内建函数就有求最大最小值的函数。
求最大值:max()
求最小值:min()
求和:sum()
他们的第一个参数都是可遍历对象,也就是说可以是字符串,tuple或者list,其它参数请参照文档
如果是从列表中找最大值,则可以使用max(),如:
In [279]: a = range(10)
In [280]: max(a)
Out[280]: 9
如果是从数组找最大值,则可以使用numpy.max()函数,如:
In [281]: a = np.arange(10)
In [282]: a.max()
Out[282]: 9
如果是一个二维数组,取某一列的最大值,则:
In [285]: a = np.arange(12).reshape(3,4)
In [286]: a
Out[286]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [287]: a[2,:].max()
Out[287]: 11
如需求列表中的最大值,用python自带的函数max() 即可。代码示例如下: numbers = [1,2,3,4,5,6,7,8,9] max(numbers)
2.
求最大值也可通过定义函数,再调用函数求得。示例代码如下:def findmax(L): if L == []: return(None) else: Max = L[0] for i in L: if i ...