标签:python
python如何将数组分成几个区间,取每个区间的最大值存到另一个数组里
贴吧上有人问python 问题:
有一段数组,把它分成几个区间,取每个区间的最大值存到另一个数组里
比如数组a[1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1,0]
看看python培训黄哥所写的2个方法。
第一种方法:
# coding:utf-8
"""
黄哥python远程视频培训班
https://github.com/pythonpeixun/article/blob/master/index.md
黄哥python培训试看视频播放地址
https://github.com/pythonpeixun/article/blob/master/python_shiping.md
咨询qq:1465376564
"""
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
def group(lst, n):
num = len(lst) % n
zipped = zip(*[iter(lst)] * n)
return zipped if not num else zipped + [lst[-num:], ]
tmp = group(lst, 3)
max_lst = [max(item) for item in tmp]
print max_lst
#[3, 6, 9, 8, 5, 2]
第二种方法
# coding:utf-8
"""
黄哥python远程视频培训班
https://github.com/pythonpeixun/article/blob/master/index.md
黄哥python培训试看视频播放地址
https://github.com/pythonpeixun/article/blob/master/python_shiping.md
咨询qq:1465376564
"""
def group(seq, size):
def take(seq, n):
for i in xrange(n):
yield seq.next()
if not hasattr(seq, ‘next‘):
seq = iter(seq)
while True:
x = list(take(seq, size))
if x:
yield x
else:
break
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
lst_group = group(lst, 3)
max_lst = [max(item) for item in list(lst_group)]
print max_lst
python如何将数组分成几个区间,取每个区间的最大值存到另一个数组里
标签:python
原文地址:http://pythonpeixun.blog.51cto.com/7195558/1640393