我有一个字典,名为data我有一条声明,希望由exec运行。它适用,但不分配值(无结果)
如何使其运作?
data {'a': 'b', 'res': {}, 'new': []}
str_ev = "if a == b : data [res]['aa'] = 'bb' and data['new'].append('aa')"
exec(str_ev)
我希望:
data {'a': 'b', 'res': {'aa': 'bb'}, 'new': ['aa']}
但实际输出是:
data {'a': 'b', 'res': {'aa': None}, 'new': ['aa']}
我认为您的意思是:
代码:
data = {'a': 'b', 'res': {}, 'new': []}
data = {'a': 'b', 'res': {}, 'new': []}
str_ev = \
"""
if data['a'] == 'b':
data ['res']['aa'] = 'bb'
data['new'].append('aa')
"""
exec(str_ev)
print(data)
输出:
{'a': 'b', 'res': {'aa': 'bb'}, 'new': ['aa']}