【发布时间】:2021-04-13 18:52:08
【问题描述】:
为什么我不能为多个乱序索引位置索引一个 Python 列表?
mylist = ['apple','guitar','shirt']
获取一个元素很容易,但不会超过一个。
mylist[0] 返回'apple',但mylist[0,2] 返回TypeError: list indices must be integers or slices, not tuple
到目前为止,似乎只有这个看起来很忙:
np.asarray(mylist)[[0,2]].tolist()
【问题讨论】:
-
单独访问每个元素。
mylist[0], mylist[2] -
TypeError告诉我们索引列表时允许的内容。这是基本的 Python!字符串、元组和字典也是如此。使用列表或元组选择多个项目是numpy加法。每个可索引类都有一个__getitem__方法。允许的索引由该方法确定,因此可以不同。 -
@JohnGordon 个别元素是不是的问题。多个是
-
但是@JohnGordon 是对的。您必须单独访问列表元素。没有办法解决这个问题。甚至
map和list comprehension也建议这样做。array往返会很慢。 -
我现在明白他在暗示什么,但可以说
标签: python list numpy indexing element