python - 打印列表范围内的最大和最大索引
问题描述
在下面的代码中,它随机选择list_
. 停止必须大于开始,并且我希望程序输出的最大数字list_[start:stop]
以及该数字所在的顺序。我在打印list_
.
#15 numbers in the list
list_ = [1,3,5,6,7,2,3,6,4,3,5,7,8,11,10]
stop= random.randint(1, len(list_))
start = random.randint(0, stop)
maxnum = max(list_[start:stop])
max_index = list_.index(maxnum)
print("maximum number in range: ", maxnum, "index of max number: ", max_index)
解决方案
问题是您在list_
. 该方法返回它找到的第一个.index
实例的索引。如果和,最大值在 index 处。但是返回的索引是因为您在整个列表中找到前 3 个。start=5
stop=7
3
6
1
您可以通过index
在子列表上使用,然后添加start
索引来解决此问题。尽管如果您的子列表中有重复的最大值,它将再次返回第一个索引。
max_index = list_[start:stop].index(maxnum) + start
推荐阅读
- sql-server - 如何授予用户访问 SQL 作业的权限?
- c# - 模块的依赖
- cmake - 试图将静态链接到共享库 - 得到未定义的引用
- python - 表分区以应用适当的模型
- go - go to write (by index) to a out of index element in slice 的惯用方式是什么?
- java - Web 服务用户身份验证 - 在客户端存储密码
- c# - 如何使用 ASP.NET MVC 和实体框架在 C# 中创建注销
- javascript - 为什么使用 document.write 不会在浏览器上显示文本
- java - java.lang.NoSuchMethodException: [Ljava.lang.reflect.Method;.myMethod(java.lang.String, boolean)
- ruby-on-rails - 在没有连接请求的情况下重定向到管理界面