合并list和字典最不容易出错又简洁的python方法是什么?求解,容易出错python,我有2个字典,如下:a
合并list和字典最不容易出错又简洁的python方法是什么?求解,容易出错python,我有2个字典,如下:a
我有2个字典,如下:
a = [{'泉州seo': '2,1'}, {'泉州网站建设': '1'}, {'泉州网络公司': ''}, {'泉州微信小程序': ''}]b = [{'泉州seo': ''}, {'泉州网站建设': ''}, {'泉州网络公司': ''}, {'泉州微信小程序': '15,34'}]
2个字典分别存放的是我一些数据,我现在想要的效果是把a和b合并起来显示,比如这样:
c = [{'泉州seo': '2,1'}, {'泉州网站建设': '1'}, {'泉州网络公司': ''}, {'泉州微信小程序': '15,34'}]
就是这样一个简单的效果!
请问要如何用最简单的代码来实现!
欢迎高手挑战!
字典貌似不应该这样用的吧……
我想给出的答案是
c = {k:d1[k]+d2[k] for d1,d2 in zip(a,b) for k in d1}
不过根据要求答案应该是
c = [{k:d1[k]+d2[k]} for d1,d2 in zip(a,b) for k in d1]
a中每个字典的值和b中每个字典的值对比,如果b中字典的值比a相应字典的值大,就copy过来,然后赋值给c.
>>> a = [{'s1': '2,1'}, {'s2': '1'}, {'s3': ''}, {'s4': ''}]>>> b = [{'s1': ''}, {'s2': ''}, {'s3': ''}, {'s4': '15,34'}]>>> for i in range(len(a)): if cmp(a[i],b[i]) < 0: a[i] = b[i].copy() >>> c = a>>> print c[{'s1': '2,1'}, {'s2': '1'}, {'s3': ''}, {'s4': '15,34'}]
编橙之家文章,
相关内容
- Python最新sdk支持获取文件下载链接吗?,pythonsdk,昨天更
- uwsgi部署Django报ImportError错误,djangoimporterror,配置文件如
- qiniu Python SDK:6.1.4上传文件出类型错误提示,是什么问题
- php正则要转换为python正则怎么写,php转换python,$keyword
- Python微信公众平台功能测试工具返回错误403原因,pyt
- Python删除数组中数字的方式是什么,python数组,Python数组
- Python与R的数据接口调用问题,python数据接口,需要通过
- Python Pycurl7.19.7安装出错如何解决,pythonpycurl7.19.7,安装
- Python scrapy爬取数据异常求帮分析源码,pythonscrapy,由于
- Python scrapy模拟登陆知乎重定向问题,pythonscrapy,当我使
评论关闭