如何从 Python 中的字典中删除随机多余的键和值
How to remove random excess keys and values from dictionary in Python
我有一个包含数千个项目的字典变量。出于编写代码和调试的目的,我想暂时减小它的大小以便更容易地使用它(即通过打印检查内容)。我真的不在乎为此目的删除了哪些项目。我试着用这个代码只保留 10 个第一键:
i = 0
for x in dict1:
if i >= 10:
dict1.pop(x)
i += 1
但我收到错误消息:
RuntimeError: dictionary changed size during iteration
最好的方法是什么?
Select 先删除一些随机键,然后遍历该列表并删除它们。
import random
keys = random.sample(list(dict1.keys()), k=10)
for k in keys:
dict1.pop(k)
您可以重写字典,从其项目中选择一个切片。
dict(list(dict1.items())[:10])
您可以将字典转换为项目列表,拆分,然后转换回字典,如下所示:
splitPosition = 10
subDict = dict(list(dict1.items())[:splitPosition])
我有一个包含数千个项目的字典变量。出于编写代码和调试的目的,我想暂时减小它的大小以便更容易地使用它(即通过打印检查内容)。我真的不在乎为此目的删除了哪些项目。我试着用这个代码只保留 10 个第一键:
i = 0
for x in dict1:
if i >= 10:
dict1.pop(x)
i += 1
但我收到错误消息:
RuntimeError: dictionary changed size during iteration
最好的方法是什么?
Select 先删除一些随机键,然后遍历该列表并删除它们。
import random
keys = random.sample(list(dict1.keys()), k=10)
for k in keys:
dict1.pop(k)
您可以重写字典,从其项目中选择一个切片。
dict(list(dict1.items())[:10])
您可以将字典转换为项目列表,拆分,然后转换回字典,如下所示:
splitPosition = 10
subDict = dict(list(dict1.items())[:splitPosition])