python – 从列表中的值向列表中的dicts添加键
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 从列表中的值向列表中的dicts添加键,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1819字,纯文字阅读大概需要3分钟。
内容图文
如果dict包含某个键,如何从列表中的值中添加键到列表中的dict?
我有一个dicts列表.这些dicts只包含一个键(‘review’)或两个键(‘review’和’response’).当dict包含键’response’时,我想添加两个键,其中包含两个列表中的值.
data = [{'response': 'This is a response',
'review': 'This is a review'},
{'review': 'This is only a review'},
{'response': 'This is also a response',
'review': 'This is also a review'}]
date = ['4 days ago',
'3 days ago']
responder = ['Manager',
'Customer service']
我尝试了以下内容,但由于每个包含密钥“响应”的dict我只想从每个列表的值中添加1,我不知道如何做到这一点.
for d in data:
if 'response' in d:
for i in date:
d['date'] = i
for i in responder:
d['responder'] = i
输出显示我当然只添加列表的最后一个值,因为我循环遍历列表.我怎样才能解决这个问题?
[{'date': '3 days ago',
'responder': 'Customer service',
'response': 'This is a response',
'review': 'This is a review'},
{'review': 'This is only a review'},
{'date': '3 days ago',
'responder': 'Customer service',
'response': 'This is also a response',
'review': 'This is also a review'}]
解决方法:
您可以为日期和响应者列表创建一个迭代器,然后在if语句中调用next()以从列表中获取下一个项目
data = [{'response': 'This is a response',
'review': 'This is a review'},
{'review': 'This is only a review'},
{'response': 'This is also a response',
'review': 'This is also a review'}]
date = ['4 days ago', '3 days ago']
responder = ['Manager', 'Customer service']
d_iter = iter(date)
r_iter = iter(responder)
for d in data:
if 'response' in d:
d['date'] = next(d_iter)
d['responder'] = next(r_iter)
print(data)
>> [
{'date': '4 days ago',
'review': 'This is a review',
'responder': 'Manager',
'response': 'This is a response'},
{'review': 'This is only a review'},
{'date': '3 days ago',
'review': 'This is also a review',
'responder': 'Customer service',
'response': 'This is also a response'}
]
内容总结
以上是互联网集市为您收集整理的python – 从列表中的值向列表中的dicts添加键全部内容,希望文章能够帮你解决python – 从列表中的值向列表中的dicts添加键所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。