python - 如何修复“列表索引必须是整数或切片,而不是列表”错误?
问题描述
我正在尝试学习 numpy,而我刚刚学习了精美的索引和 argsort。为了习惯这两个,我写了简单的代码,我不断收到错误
'TypeError: list indices must be integers or slices, not list'
这是什么原因造成的?
import numpy as np
array = ['John','Mike','Sarah','Kate','Samuel']
score_array = [78, 95, 84, 98, 88]
idx = np.argsort(score_array)
idx = idx.tolist()
array[idx]
解决方案
我不确定你想做什么。如果将两个列表转换为 numpy 数组。它运行没有错误。
import numpy as np
array = np.array(['John','Mike','Sarah','Kate','Samuel'])
score_array = np.array([78, 95, 84, 98, 88])
idx = np.argsort(score_array)
idx = idx.tolist()
print(array[idx])
因为array
现在是一个 numpy 数组,所以它接受数组样式索引。
推荐阅读
- docker - 奇怪的CouchDB错误,怎么理解?
- java - 使用 javaFX 根据操作系统计算窗口装饰的大小
- php - wp_mail 正在发送具有相同数据的消息
- c# - C# Ping.Send() 无限期,这会显着降低计算机速度
- javascript - 如果在页面上找到文本,JS IF 语句将应用 CSS 隐藏文本
- mean-stack - 如何使用 Sendgrid / MEAN Stack 发送放弃购物车电子邮件
- c++ - 尝试使用成员函数创建模板函数时遇到问题
- android - Ionic 3 / Angular 5 App 在(想要的)循环函数中崩溃
- ios - 无法转换类型“(
) -> Void' 到预期的参数类型 '(Either<[_]>) -> Void' - angular - 身份验证服务和登录组件未通信