1. 程式人生 > 其它 >Python update 函式 - Python零基礎入門教程

Python update 函式 - Python零基礎入門教程

目錄

零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門

在前一篇文章 **Python ChainMap **中我們介紹了關於 Python 內建函式 ChainMap 使用,ChainMap 函式和 update 函式類似,都是對字典 dict 操作,也是將多個字典 dict 合併,那麼問題來了?ChainMap 和 update 兩者區別在哪呢?

一.Python update 函式簡介

Python 字典(Dictionary)

update 函式把字典 dict 的鍵 / 值對更新到另外一個字典 dict 裡。

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說程式設計
@Blog(個人部落格地址): www.codersrc.com
@File:Python update 函式.py
@Time:2021/04/04 11:00
@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!

"""

dict1= {"a":"zhangsan","b":"lisi"}
dict2= {"c":"wangwu"}

# 合併字典

dict2.update(dict1)

print(dict2)

'''
輸出結果:

{'c': 'wangwu', 'a': 'zhangsan', 'b': 'lisi'}
'''

二.Python update 函式和 ChainMap 函式區別

1.內建函式 ChainMap 函式對多個字典合併時,合併的結果記憶體地址並沒有發生改變當我們修改 ChainMap 函式返回的結果時,會發現原始字典 dict 的資料也會發生相同的變化;當我修改原始字典時,ChainMap 函式返回的結果也會跟隨一起變化,這也意味著:ChainMap 函式返回的結果和原始字典共用一塊記憶體地址

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說程式設計
@Blog(個人部落格地址): www.codersrc.com
@File:Python update 函式.py
@Time:2021/04/04 11:00
@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!

"""

from collections import ChainMap

dict1= {"a":"zhangsan","b":"lisi"}
dict2= {"c":"wangwu"}

# 合併字典
new_dict = ChainMap(dict1,dict2)
print(new_dict)

print("***"*20)
# 修改資料
new_dict.maps[0]["a"] = "123"
print(new_dict)
print(dict1)
'''
輸出結果:

ChainMap({'a': 'zhangsan', 'b': 'lisi'}, {'c': 'wangwu'})
************************************************************
ChainMap({'a': '123', 'b': 'lisi'}, {'c': 'wangwu'})
{'a': '123', 'b': 'lisi'}
'''

2.update 函式將原始字典 dict 的鍵/值對更新到另外一個目標字典 dict 裡,合併之後原始字典 dict 和目標字典都是獨立的記憶體塊,兩者互不影響!

3.ChainMap 函式可以同時合併多個字典,update 函式每次只能合併一個字典!

三.猜你喜歡

  1. Python 字串/列表/元組/字典之間的相互轉換
  2. Python 區域性變數和全域性變數
  3. Python type 函式和 isinstance 函式區別
  4. Python is 和 == 區別
  5. Python 可變資料型別和不可變資料型別
  6. Python 淺拷貝和深拷貝
  7. Python 遞迴函式
  8. Python sys 模組
  9. Python 列表 list
  10. Python 元組 tuple
  11. Python 字典 dict
  12. Python 條件推導式
  13. Python 列表推導式
  14. Python 字典推導式
  15. Python 函式宣告和呼叫
  16. Python 不定長引數 *argc/**kargcs

未經允許不得轉載:猿說程式設計 » Python update 函式

本文由部落格 - 猿說程式設計 猿說程式設計 釋出!