python - 了解列表`pop index out of range`
问题描述
我正在尝试按升序排列生成的列表。
remove
在我的 while 循环中使用有效。但是,如果我使用pop
,我会不断收到 IndexError: Pop index out of range。
values
我还尝试在执行最后一次迭代时增加列表的长度;到while len(values) > 1
,我仍然遇到同样的错误。
谁能解释为什么我在使用 pop 而不是在使用 remove 时不断收到此错误?
#import randrange
from random import randrange
#generate a list of values
values = []
for i in range(1, 10):
values.append(randrange(1, 10))
print(values)
#initiate list for keeping minimum values
new_values = []
#define how least value would be determined
while len(values) > 0 :
new_values.append(min(values))
values.pop(min(values))
print(new_values)
解决方案
您在编写时提供直接值 pop values.pop(min(values))
,而不是您必须提供索引位置。
推荐阅读
- c# - 有没有办法模拟 MassTransit IMediator 进行单元测试?
- javascript - 如何从使用 webpack 构建的 VanillaJS 库中公开对象?
- php - 无法通过url访问laravel中链接存储文件夹中的文件
- python - Python Re模块:在特定单词之后查找单词
- wordpress - 带有健康检查结果的 Wordpress 问题
- nosql - 微服务,是不是更适合 NoSQL
- python - nginx 502 网关错误,nginx.config 的位置
- c - 获取进程名称并在 XV6/C 中打印出来
- android - 是否可以拦截所有应用程序的网络数据?
- android - React-native,好奇的 android 崩溃