gpt4 book ai didi

python - 清除字典但保留 key

转载 作者:行者123 更新时间:2023-12-03 22:54:04 25 4
gpt4 key购买 nike

是否可以清除字典中的所有条目但保留所有键?

例如,如果我有:

my_dic={
"colour":[],
"number":[]
}

我在里面放了一些东西:
my_dic["colour"]='Red'
my_dic["number"]='2'

我可以通过以下方式清除这些:
my_dic["colour"] = []
my_dic["number"] = []

但是如果我想快速清除一个大字典,这是冗长的,有没有更快的方法?我要保留 key ["colour"], ["number"] ,无需重新创建它们,只需清除其中的所有条目即可。

最佳答案

您可以简单地清除循环中的所有列表:

for value in my_dic.values():
del value[:]

请注意 value[:]切片删除;我们正在删除列表中的所有索引,而不是 value引用自身。

请注意,如果您使用的是 Python 2,您可能想使用 my_dic.itervalues()而不是 my_dic.values()以避免为循环创建新的列表对象。

演示:
>>> my_dic = {'colour': ['foo', 'bar'], 'number': [42, 81]}
>>> for value in my_dic.values():
... del value[:]
...
>>> my_dic
{'colour': [], 'number': []}

您还可以用新的空列表替换所有值:
my_dic.update((key, []) for key in my_dic)

或完全替换整个字典:
my_dic = {key: [] for key in my_dic}

考虑到这两种方法不会更新对列表(第一种方法)或整个字典(第二种方法)的其他引用。

关于python - 清除字典但保留 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33389905/

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