gpt4 book ai didi

python - 从python字典中删除某些前缀键的有效方法

转载 作者:行者123 更新时间:2023-11-28 19:43:25 25 4
gpt4 key购买 nike

我有一个 python 字典,看起来像这样;

{'Prefix_1':'12', 'Prefix_2':'11', 'Prefix_3':'14', '1':'241', '2':'312', '3':'421'
}

我想删除那些键值以“Prefix”开头的键值对。结果应该是一个看起来像这样的字典;

{'1':'241', '2':'312', '3':'421'
}

我目前的做法是使用 del dictionary['Prefix_X'] 逐一删除每一对。更有效的方法是什么?

我正在使用 python 2.7

最佳答案

由于其他答案都使用字典理解来创建一个新的字典并保持原始字典不变,我将给出一个改变字典的答案:

for k in d.keys():
if k.startswith('Prefix'):
d.pop(k)

有没有更好的办法?

假设字典中有 N 个键,要找到具有给定前缀的所有键,您必须遍历所有键,这是 O(N) 的时间复杂度。

然后你需要一个一个地删除它们,在最坏的情况下它们都带有给定的前缀,所以这也是 O(N) 的时间复杂度。

O(N) 的总时间复杂度。

关于python - 从python字典中删除某些前缀键的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30566437/

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