【发布时间】:2018-01-08 21:07:48
【问题描述】:
我有一个大整数数组,我需要将每 10 个整数的最大值及其在数组中的对应索引作为一对打印出来。
ex. (max_value, index of max_value in array)
我可以在前 10 个整数中成功找到最大值和对应的索引,但是我在循环整个数组时遇到了麻烦。
我尝试过使用:
a = some array of integers
split = [a[i:i+10] for i in xrange(0, len(a), 10)]
for i in split:
j = max(i)
k = i.index(max(i))
print (j,k)
这种方法的问题在于它将我的数组分成 10 个块,因此 max_values 是正确的,但索引不准确(所有索引都在 0-10 之间。) 我需要找到一种不会将我的数组拆分成块的方法,以便保留原始索引。我确信有一种更简单的方法可以循环查找最大值,但我似乎无法弄清楚。
【问题讨论】:
-
数组中是否有重复值?
-
如果您添加了
enumerate,则可以计算索引,然后执行q*10+i,其中 q 是枚举计数器
标签: python arrays python-2.x xrange