我的django项目中有一个这样的字典,对应于配置字段:
{u'active': True,
u'alert': {u'item_sent': True,
u'emails': [u'test@test.com', u'test@test.com'],
u'job': u'500.00',
u'in_negative': False}}
如何遍历上面的每封电子邮件并将'.fake'
附加到它们的末尾?我是为了这个 - "test@test.com.fake"
我这样做但没有更改列表项:
for p in practice:
email_count = len(p.config['alert']['emails'])
if email_count > 0:
print 'WE HAVE EMAILS'
i = 0
while i < email_count:
p.config['alert']['emails'][i] += '.fake'
print p.config['alert']['emails'][i]
i += 1
p.save()
答案 0 :(得分:3)
我看不出为什么你的代码无法更改列表项,但试试这个:
for p in practice:
p.config['alert']['emails'] = [e + '.fake' for e in p.config['alert']['emails']]
答案 1 :(得分:0)
原来我需要在编辑之前先将p.config分配给变量。 'P'代表练习对象。
for p in practices:
config = p.config
config['alert']['emails'] = [
'.{0}.fake'.format(x)
for x in config['alert']['emails']
]
p.config = config
p.save()