【问题标题】:Deleting elements from a list via a list of indices [duplicate]通过索引列表从列表中删除元素[重复]
【发布时间】:2017-06-23 13:31:23
【问题描述】:

我有一个索引列表,

ind = [0,1,2,5,6,7]

还有我的另一个数据列表:

data = [0,1,4,9,16,25,36,49,64]

我只想保留与list 中的值相对应的data 的索引:

result = [0,1,4,25,36,49]

或者改写,删除data中不在list值中的索引。

我认为我可以做某种列表理解,但我想不通!谢谢,

【问题讨论】:

  • list(operator.itemgetter(*ind)(data))

标签: python arrays list list-comprehension


【解决方案1】:

您不需要删除任何内容,只需使用列表推导从 data 中使用来自 ind 的索引来索引

>>> result = [data[i] for i in ind]
>>> result
[0, 1, 4, 25, 36, 49]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 2016-12-03
    • 2015-01-05
    • 1970-01-01
    相关资源
    最近更新 更多