gpt4 book ai didi

python - 从字典中随机删除项目

转载 作者:太空狗 更新时间:2023-10-30 01:39:20 25 4
gpt4 key购买 nike

如何在 Python 中从字典中删除随机项目?

我必须从字典中删除指定数量的项目,所以我尝试使用 dict.popitem 我认为它是随机的,但它似乎不是。

作为docs说:

Remove and return an arbitrary (key, value) pair from the dictionary.

对于我的问题,假设我有一个像这样的字典(一个例子):

>>> d = dict(zip((string.ascii_lowercase), range(1, 10)))
>>> d
{'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4, 'g': 7, 'f': 6, 'i': 9, 'h': 8}

现在我需要从中删除一些项目(计数由用户指定)。

所以我这样写:

>>> for _ in range(4):          # assume 4 items have to removed
... d.popitem()
...
('a', 1)
('c', 3)
('b', 2)
('e', 5)

但是这段代码的问题是,每次运行脚本时,popitem() 弹出完全 相同的项目。你可以随意测试这个,我已经试过很多次了。

所以我的问题是:

  • 为什么 popitem() 没有按应有的方式工作?删除任意项目不是随机的吗?
  • 如何从字典中删除随机项目?

最佳答案

你说的是这个吗?

import random
for i in range(4):
some_dict.pop( random.choice(some_dict.keys()) )

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

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