国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python算法,如何優雅的合并2個列表字典?

瀏覽:121日期:2022-09-02 15:06:23

問題描述

我有2個字典,如下:

a = [{’泉州seo’: ’2,1’}, {’泉州網站建設’: ’1’}, {’泉州網絡公司’: ’’}, {’泉州微信小程序’: ’’}]b = [{’泉州seo’: ’’}, {’泉州網站建設’: ’’}, {’泉州網絡公司’: ’’}, {’泉州微信小程序’: ’15,34’}]

2個字典分別存放的是我一些數據,我現在想要的效果是把a和b合并起來顯示,比如這樣:

c = [{’泉州seo’: ’2,1’}, {’泉州網站建設’: ’1’}, {’泉州網絡公司’: ’’}, {’泉州微信小程序’: ’15,34’}]

就是這樣一個簡單的效果!請問要如何用最簡單的代碼來實現!歡迎高手挑戰!

問題解答

回答1:

字典貌似不應該這樣用的吧……我想給出的答案是

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]回答2:

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 編程
主站蜘蛛池模板: 葫芦岛市| 布拖县| 金湖县| 云和县| 临澧县| 湛江市| 荥阳市| 江陵县| 绍兴市| 合肥市| 武威市| 琼中| 嘉禾县| 广丰县| 乌恰县| 黄龙县| 乾安县| 牟定县| 新河县| 宁国市| 玛曲县| 涿州市| 襄汾县| 平湖市| 定日县| 罗甸县| 新龙县| 县级市| 西峡县| 柳河县| 北川| 博湖县| 邵阳县| 恩施市| 尉犁县| 吐鲁番市| 五河县| 宣威市| 嘉峪关市| 呼伦贝尔市| 佛学|