Jür*_* K. 1 python indexing dictionary list processing-efficiency
给定的是在长度为n的列表中具有未排序索引的列表。列表的每个元素仅包含一次。所以列表看起来像这样
L = [13, 145, 70001, 34, ..., 533]
还给出了以dictionary d哪个数值作为键。所有值都是element 
 {0,1}。喜欢
d = {
        "[some data]" : 0,
        "[some data]" : 1,
        "[some data]" : 1,
        "[some data]" : 1,
        ...
        "[some data]" : 0
    }
字典d中的条目比列表中的要多L。
我想做的是从字典中删除每个位置(索引)的数据(L如果是的话)0。
我在进行此操作时看到的问题是,每次删除后索引都需要移动,因为字典中的位置正在更改。关于大量项目,这是安静的低效L。必须有一种有效的方法来执行此任务。
任何想法和建议都将受到高度赞赏!
请注意,您不应该期望能够执行此操作,因为大多数字典实现都不是有序的,但是Python是从3.6开始的,并且是3.7中的一部分规范-只是问题。
我们可以用一个字典解析enumerate,使一个新的字典,所以我们不必担心,大约指数移动业务的担忧你。
L_ = set(L)
d = {k: v for i, (k, v) in enumerate(dict.items()) if i not in L_ and v}