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

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

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

瀏覽:156日期: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 編程
主站蜘蛛池模板: 平昌县| 大同市| 汉阴县| 德安县| 甘孜| 揭东县| 凤台县| 阳朔县| 阿尔山市| 彭山县| 海安县| 开化县| 柳河县| 正蓝旗| 望城县| 中方县| 云和县| 九台市| 贡山| 云龙县| 安溪县| 卓资县| 泸州市| 漠河县| 临清市| 保定市| 婺源县| 志丹县| 镇原县| 宁都县| 望江县| 海伦市| 楚雄市| 沙田区| 山丹县| 黄龙县| 尚义县| 嫩江县| 叙永县| 汕尾市| 诸暨市|