Python 使用大量字典的有效方法
我有一个字典列表,其中可以有多个键,如果键存在,那么键的值需要基于键进行操作。目前,我的代码迭代所有字典,检查键是否存在,然后执行操作。有没有其他方法可以有效地实现同样的目标,因为我用250多个字典的列表观察,执行过程需要相当长的时间。我也不能并行执行。set方法是执行命令的包装器 类执行器(对象):Python 使用大量字典的有效方法,python,Python,我有一个字典列表,其中可以有多个键,如果键存在,那么键的值需要基于键进行操作。目前,我的代码迭代所有字典,检查键是否存在,然后执行操作。有没有其他方法可以有效地实现同样的目标,因为我用250多个字典的列表观察,执行过程需要相当长的时间。我也不能并行执行。set方法是执行命令的包装器 类执行器(对象): 如果你真的需要这样做,你可以这样做: 1) 定义密钥与目标api之间的映射: mapping = { 'pos' : 'position', 'distance' : 'dista
如果你真的需要这样做,你可以这样做: 1) 定义密钥与目标api之间的映射:
mapping = {
'pos' : 'position',
'distance' : 'distance',
'user' : 'privilege',
'deny' : 'access',
'instance_of' : 'instance_of',
'is_shared' : 'allow_shared'
}
2) 更换\u prepare\u cmd
功能:
def _prepare_cmd(self, one_dict):
self.cmds += ['set {} {}'.format(mapping[k], str(v) for k, v in one_dict.items()]
假设
映射
包含DICT的每个可能键的条目。请包含您的代码。看,哦,因为它被否决了。我将包括代码。键是什么,值是什么类型?(即两者都是int?)。另外,包括您正试图改进的示例代码。“当前我的代码迭代所有字典并检查键是否存在”:如果您迭代dict,那么键将始终存在。您需要更清楚地理解“如果密钥存在”的含义。@MitchWheat我添加了代码。你能解释一下吗?
def _prepare_cmd(self, one_dict):
self.cmds += ['set {} {}'.format(mapping[k], str(v) for k, v in one_dict.items()]