AS
Francisco notes
A
dict
理解将有助于创造新的
双关语
更换钥匙。您也可以修改
双关语
到位,或者使用显式循环:
for k, v in my_dicts.items():
if v == 'true':
my_dicts[k] = True
或通过使用
双关语
理解和更新原文
双关语
结果是:
my_dicts.update({k: True if v == 'true' else v for k, v in my_dicts.items()})
第一种方法一般来说可能更快,因为它避免了
双关语
,并且甚至不会尝试更新密钥,除非该值是
"true"
要替换的字符串。
很明显,这是
正常地
修改不安全
双关语
当你重复它的时候,如果你担心第一个循环的话,你会得到原谅。但在这种情况下,它是好的;突变的危险
双关语
当您迭代时,它来自于添加或删除键,但是由于您设置的每个键都已经存在于
双关语
,您只更新现有密钥的值(这是安全/合法的),而不更改密钥集本身(这会咬到您)。