gpt4 book ai didi

python - 从字典中删除索引

转载 作者:太空宇宙 更新时间:2023-11-04 07:50:12 24 4
gpt4 key购买 nike

给定一个列表,其中包含长度为 n 的列表中未排序的索引。列表的每个元素只包含一次。所以列表看起来像这样

L = [13, 145, 70001, 34, ..., 533]

还给出了一个字典d,其中数值作为键。所有值都是元素{0,1}。喜欢

d = {
"[some data]" : 0,
"[some data]" : 1,
"[some data]" : 1,
"[some data]" : 1,
...
"[some data]" : 0
}

字典 d 中的条目比列表 L 中的条目多得多。

我想做的是从 L 中的每个位置(索引)删除字典中的数据(如果它是 0)。

我在处理它时看到的问题是,在每次删除之后,索引都需要移动,因为字典中的位置正在改变。对于 L 中的大量项目,这是非常低效的。必须有一种有效的方法来执行此任务。

非常感谢任何想法和建议!

最佳答案

请注意,您不应该像大多数人一样期望能够做到这一点 dictionary实现没有排序,但 Python 的是 since 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}

关于python - 从字典中删除索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55884446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com