在python中一次更改多个目录键

时间:2014-02-03 15:48:53

标签: python

我觉得如果我知道要搜索什么,我会找到答案。但....

我有一个大型的二维数组([83] [1000])。每个字典有6个键,当我构建数组时,它们都被初始化为False。然后,我需要遍历数组并根据数组中特定点的位置将各种Keys设置为True。我需要将几个键设置为True。我可以一次做一个,但这似乎不正确。

>>> EvenArray[0]
{'Pierce': False, 'Include': False, 'Deboss': False, 'Button': False, 'Exclude': False, 'Emboss': False}

我想将"Pierce""Button"设为True,即:

EvenArray[0]["Pierce","Button"]=True,True

但我明白了:

>>> EvenArray[0]
{'Pierce': True, 'Include': False, 'Deboss': False, 'Button': True, ('Pierce', 'Button'): (True, True), 'Exclude': False, 'Emboss': False}

所以我在做什么:

>>> EvenArray[0]["Button"]=True;EvenArray[0]["Pierce"]=True
>>> EvenArray[0]
{'Pierce': True, 'Emboss': False, 'Deboss': False, 'Button': True, 'Exclude': False, 'Include': False}
>>> 

我是python的新手,但这看起来并不像pythonic ......

基于数组中的位置,Key值有很多不同的组合。但是你明白了。 (我仍然需要所有其他键:值)

1 个答案:

答案 0 :(得分:2)

如果您只有几个要更新的密钥,请使用带有关键字参数的update(),如下所示:

EventArray[0].update(Button=True, Pierce=True)

否则,您可以传递整个字典:

new_data = {'Button': True, 'Pierce': True, ... }
EventArray[0].update(new_data)