最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python編程根據(jù)字典列表相同鍵的值進行合并

 更新時間:2021年10月03日 12:58:27   作者:曲鳥  
這篇文章主要介紹了來學習Python字典列表根據(jù)相同鍵的值進行合并的操作方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

一、前言

今天有粉絲咨詢了一個問題,他現(xiàn)在有兩個列表,它們的元素都為字典,且字典都有一個key為id,現(xiàn)在想把這兩個字典根據(jù)id合并為一個字典,類型下面的效果:

兩個列表的數(shù)據(jù)為:

a_list = [{'id': 1, 'value': 11}, {'id': 2, 'value': 22}, {'id': 3, 'value': 33}]
b_list = [{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}, {'id': 3, 'name': 'c'}]

期望合并的結果

[{'id': 1, 'name': 'a', 'value': 11},
 {'id': 2, 'name': 'b', 'value': 22},
 {'id': 3, 'name': 'c', 'value': 33}]

二、實現(xiàn)分析

這是粉絲寫的實現(xiàn)代碼:

for i in range(len(b_list)):
    for a in a_list:
        if b_list[i]['id'] == a['id']:
            b_list[i]['value'] = a['value']
print(b_list)

通過兩個for循環(huán)來將a_list中元素字典id值等于b_list元素字段id值的值加入到對應的b_list元素字典中。

實際上兩行代碼就可以解決這個問題:

1.我們可以先通過推導式將a_list重新組裝為{id:value}的形式

a_values = {a['id']: a['value'] for a in a_list}

a_values的值為:

{1: 11, 2: 22, 3: 33}

2.然后再通過推導式和字典解構再合并的方式將值與b_list重新組裝:

res_list = [{**b, **{'value': a_values[b['id']]}} for b in b_list]

組裝后的列表值為

res_list的值為: 
[{'id': 1, 'name': 'a', 'value': 11},
 {'id': 2, 'name': 'b', 'value': 22}, 
 {'id': 3, 'name': 'c', 'value': 33}]

完整示例代碼

a_list = [{'id': 1, 'value': 11}, {'id': 2, 'value': 22}, {'id': 3, 'value': 33}]
b_list = [{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}, {'id': 3, 'name': 'c'}]
a_values = {a['id']: a['value'] for a in a_list}
res_list = [{**b, **{'value': a_values[b['id']]}} for b in b_list]
print('res_list的值為:', res_list)

當然一行代碼也可以搞定,直接把兩個推導式合并

res_list = [{**b, **{'value': {a['id']: a['value'] for a in a_list}[b['id']]}} for b in b_list]

但這就是為了裝X而寫代碼了,毫無必要!

三、總結

就是推導式和字典通過**解構來合并這兩個知識點。

以上就是Python學習字典列表根據(jù)相同鍵的值進行合并的詳細內(nèi)容,更多關于Python字典列表鍵值合并的資料請關注腳本之家其它相關文章!

相關文章

  • Python循環(huán)緩沖區(qū)的應用詳解

    Python循環(huán)緩沖區(qū)的應用詳解

    循環(huán)緩沖區(qū)是一個線性緩沖區(qū),邏輯上被視為一個循環(huán)的結構,本文主要為大家介紹了Python中循環(huán)緩沖區(qū)的相關應用,有興趣的小伙伴可以了解一下
    2025-03-03
  • Python詞云展示庫wordcloud配置詳解

    Python詞云展示庫wordcloud配置詳解

    這篇文章主要介紹了Python詞云展示庫wordcloud配置詳解,詞云就是將詞語通過圖形可視化的方式,直觀和藝術的展示出來,詞云在我們的生活中經(jīng)常能夠看到,無論是中文的詞云還是英文的詞云,需要的朋友可以參考下
    2023-07-07
  • python神經(jīng)網(wǎng)絡pytorch中BN運算操作自實現(xiàn)

    python神經(jīng)網(wǎng)絡pytorch中BN運算操作自實現(xiàn)

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡pytorch中BN運算操作自實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python實現(xiàn)扣除個人稅后的工資計算器示例

    Python實現(xiàn)扣除個人稅后的工資計算器示例

    這篇文章主要介紹了Python實現(xiàn)扣除個人稅后的工資計算器,涉及Python流程控制與數(shù)學運算相關操作技巧,需要的朋友可以參考下
    2018-03-03
  • python 實現(xiàn)docx與doc文件的互相轉換

    python 實現(xiàn)docx與doc文件的互相轉換

    這篇文章主要介紹了python 實現(xiàn)docx與doc文件的互相轉換操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python的for和break循環(huán)結構中使用else語句的技巧

    Python的for和break循環(huán)結構中使用else語句的技巧

    平時我們把在if結構中使用else語句當作理所當然,然而,Python強大的語法糖可以讓else語句在for和while循環(huán)中使用!下面我們就通過例子來看一下Python的for和break循環(huán)結構中使用else語句的技巧
    2016-05-05
  • Python機器學習之預測黃金價格

    Python機器學習之預測黃金價格

    這篇文章主要介紹了如何使用機器學習方法來預測最重要的貴金屬之一黃金的價格,文中的示例代碼講解詳細,感興趣的小伙伴可以試一試
    2022-01-01
  • Django的開發(fā)步驟原來是這樣的

    Django的開發(fā)步驟原來是這樣的

    這篇文章主要為大家詳細介紹了Django的開發(fā)步驟,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • python基于event實現(xiàn)線程間通信控制

    python基于event實現(xiàn)線程間通信控制

    這篇文章主要介紹了python基于event實現(xiàn)線程間通信控制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • python實現(xiàn)學生信息管理系統(tǒng)源碼

    python實現(xiàn)學生信息管理系統(tǒng)源碼

    這篇文章主要為大家詳細介紹了python實現(xiàn)學生信息管理系統(tǒng)源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02

最新評論

天祝| 江西省| 孟州市| 长治市| 十堰市| 万载县| 吉安县| 宝坻区| 宣威市| 闽侯县| 汾西县| 陆丰市| 贡嘎县| 闻喜县| 肇源县| 灵武市| 本溪市| 张家口市| 图木舒克市| 灵丘县| 霞浦县| 南漳县| 沙田区| 云浮市| 武宁县| 巴彦淖尔市| 普宁市| 阜新| 桦南县| 沙田区| 会宁县| 山东省| 无为县| 峨眉山市| 宜阳县| 团风县| 龙岩市| 石家庄市| 鞍山市| 辽源市| 延寿县|