我想找出列表中的最大值是否小于列表中的最小值。如果存在两个或两个以上的最小值索引,则我想查看最大的索引。如果有两个或多个具有最大值的索引,我想查看最小的索引。现在我的代码如下:
maximum = max(lijst)
minimum = minimum(lijst)
if lijst.index(maximum) <= lijst.index(minimum):
...
但是这不会给我这些列表所要的索引:
[2, 9, 15, 36, 36, 3, 2, 36]
现在,我要查看最小值的最大索引(在这种情况下为6)和最小值的最大值(在这种情况下为3)。有人知道如何找到这些索引吗?
您可以使用min
/ max
返回列表中的最小/最大值,然后使用enumerate
获取索引,然后应用索引列表的另一个min
/ max
,例如:
my_list = [2, 9, 15, 36, 36, 3, 2, 36]
maxval = max(my_list)
indices = [index for index, val in enumerate(my_list) if val == maxval]
[3, 4, 7]
maxIndex = max(indices)
7
因此,如果要检查最大值之前是否小于最大值,请返回每个值的索引并进行比较。
您需要使用Python的find函数。您可以通过继续检查直到find返回-1来找到最后一个最小值。
maximum = max(li)
minimum = minimum(li)
i1 = li.find(maximum)
i2 = li.find(minimum)
found = False
while(not found):
if li.find(minimum, i2+1) != -1:
i2 = li.find(minimum, i2+1)
else:
found = True
if i1 < i2:
.......