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

Python數(shù)據(jù)結(jié)構(gòu)dict常用操作代碼實例

 更新時間:2020年03月12日 10:38:06   作者:我太難了008  
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)dict常用操作代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

dict是python中的常用數(shù)據(jù)結(jié)構(gòu),應(yīng)該盡量掌握其使用方法

字典是另一種可變?nèi)萜髂P?,且可存儲任意類型對象?/p>

字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中

代碼如下

"""
  初始化一個dict的四種方式:
  1. dict() -> 創(chuàng)建一個空的dict
  2. dict(mapping) -> new dictionary initialized from a mapping object's
    (key, value) pairs
  3. dict(iterable) -> new dictionary initialized as if via:
    d = {}
    for k, v in iterable:
      d[k] = v
  4. dict(**kwargs) -> new dictionary initialized with the name=value pairs
    in the keyword argument list. For example: dict(one=1, two=2)
  """

# 第一種方式
d = dict()

# 第二種方式
# d = {"person": {"name": "admin", "age": 12},
#   "animal": {"name": "gaodan", "age": 3},
#   }

# 第三種方式
d = dict({"name": "admin"})
print(d)

# 第四種方式
d = dict(name='admin', age=12)

print(type(d))
print("原字典:%s" % d) # {'name': 'admin', 'age': 12}

# clear, 清空
# d.clear()
# print(d)


# copy 淺拷貝


new_d = d.copy()
print("copy出的新字典:%s" % new_d) # {'name': 'admin', 'age': 12}

new_d['name'] = 'root'
print('修改之后的copy字典:%s' % new_d) # 修改之后的copy字典:{'name': 'root', 'age': 12}
print("修改之后的原字典:%s" % d) # {'name': 'admin', 'age': 12}
# 總結(jié): copy淺拷貝簡單數(shù)據(jù)結(jié)構(gòu)時,創(chuàng)建了一個新的對象,修改新dict中的值,不會引起原有dict中值的變化

print('*' * 50)

d = {"person": {"name": "admin", "age": 12},
   "animal": {"name": "gaodan", "age": 3}
   }

print(d) # {'person': {'name': 'admin', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}}
new_d = d.copy()
new_d['person']['name'] = 'root'

print(new_d) # {'person': {'name': 'root', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}}
print(d) # {'person': {'name': 'root', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}}

# 總結(jié): 淺拷貝: copy淺拷貝復(fù)雜數(shù)據(jù)結(jié)構(gòu)時,只是指向了這個復(fù)雜數(shù)據(jù)結(jié)構(gòu)的引用,并沒有創(chuàng)建一個新的對象.所以修改new_d這個新dict的值時,原dict中的值也發(fā)生變化.如果是簡單數(shù)據(jù)結(jié)構(gòu),不存在這類情況,上面也有示例

"""
   python中的深拷貝 需要 import copy
   copy.deepcopy()
"""

print('--------------------deep copy------------------')
import copy

d = {"person": {"name": "admin", "age": 12},
   "animal": {"name": "gaodan", "age": 3}
   }
print(d)
dd = copy.deepcopy(d)
print(dd) # {'person': {'name': 'admin', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}}
dd['person']['name'] = '啞巴'
print(dd) # {'person': {'name': '啞巴', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}}
print(d) # {'person': {'name': 'admin', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}}


# fromkeys, 創(chuàng)建一個新的dict ,key是序列中的值
d = dict.fromkeys(['jet','lily'],{"name":"mam"})
print(d) # {'jet': {'name': 'mam'}, 'lily': {'name': 'mam'}}

# get .取值 ,沒有就是None
value = d.get("jet")
print(value) #{'name': 'mam'}

d = {"name":'admin','age':12}

#items 方法
kv = d.items()
for k,v in kv:
   print(k,v)

keys = d.keys()
print(keys) # dict_keys(['name', 'age'])


# pop(key) 移除指定的key 對應(yīng)的kv
# value = d.pop('name') # 刪除name 鍵值對
# print(value)  # admin
# print(d) # {'age': 12}


# popitem 移除后面的一組item
popitem = d.popitem()
print(popitem) # ('age', 12) 移除了這一對映射關(guān)系
print(d) # {'name': 'admin'}  d 還剩下這玩藝



d = {"name":'admin','age':12}

# setdefault(k,v) , 如果原dict有中k, 就返回原dict中k-->v , 否則就將k,v添加到dict中
default_value = d.setdefault('female', 'ali')
print(default_value)
print(d) # {'name': 'admin', 'age': 12, 'female': 'ali'}

default_value = d.setdefault('female', 'jd')
print(default_value) # ali
print(d) # {'name': 'admin', 'age': 12, 'female': 'ali'}

# update. 往dict中添加元素
# 使用update的第一種方式 ,注意key沒有加引號
# d.update(book='python',teacher='dog')
print(d) # {'name': 'admin', 'age': 12, 'female': 'ali', 'book': 'python', 'teacher': 'dog'}

#使用update的第二種方式
d.update([('teacher','dog'),{'book','java'}]) #好吊的樣子
print(d) #{'name': 'admin', 'age': 12, 'female': 'ali', 'teacher': 'dog', 'book': 'java'}


# values

vs = d.values()
print(vs) #dict_values(['admin', 12, 'ali', 'dog', 'java'])

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python操作列表的函數(shù)使用代碼詳解

    python操作列表的函數(shù)使用代碼詳解

    這篇文章主要介紹了python操作列表的函數(shù)使用代碼詳解,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • Python創(chuàng)建高強度密碼生成工具方法實例

    Python創(chuàng)建高強度密碼生成工具方法實例

    這篇文章主要為大家介紹了Python創(chuàng)建高強度密碼生成工具方法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 解決Python3 抓取微信賬單信息問題

    解決Python3 抓取微信賬單信息問題

    這篇文章主要介紹了Python3 抓取微信賬單信息,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python適合做數(shù)據(jù)挖掘嗎

    python適合做數(shù)據(jù)挖掘嗎

    在本篇文章里小編給各位分享的是一篇關(guān)于python做數(shù)據(jù)挖掘的相關(guān)知識點內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python三引號如何輸入

    python三引號如何輸入

    在本篇文章里小編給大家整理的是關(guān)于python三引號輸入方法及相關(guān)實例,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • python中append實例用法總結(jié)

    python中append實例用法總結(jié)

    在本篇文章中小編給各位分享的是關(guān)于python中append實例用法以及相關(guān)知識點,需要的朋友們可以學(xué)習(xí)下。
    2019-07-07
  • Python調(diào)用C語言的實現(xiàn)

    Python調(diào)用C語言的實現(xiàn)

    這篇文章主要介紹了Python調(diào)用C語言的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python如何實現(xiàn)FTP功能

    Python如何實現(xiàn)FTP功能

    在本篇文章里小編給大家整理的是關(guān)于Python實現(xiàn)的簡易FTP的實例內(nèi)容,有興趣的朋友們可以參考下。
    2020-05-05
  • 基于python 處理中文路徑的終極解決方法

    基于python 處理中文路徑的終極解決方法

    下面小編就為大家分享一篇基于python 處理中文路徑的終極解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python 中檢查一個字符是否為數(shù)字的示例代碼

    Python 中檢查一個字符是否為數(shù)字的示例代碼

    本文詳細(xì)介紹了在 Python 中檢查一個字符是否為數(shù)字的幾種常用方法。我們介紹了使用 isdigit() 方法、isnumeric() 方法和正則表達(dá)式等方法,并提供了示例代碼幫助你理解和應(yīng)用這些方法,需要的朋友可以參考下
    2023-06-06

最新評論

阿瓦提县| 临猗县| 元朗区| 磴口县| 淮北市| 开鲁县| 桐柏县| 突泉县| 宁国市| 呼和浩特市| 额尔古纳市| 谷城县| 教育| 凯里市| 沛县| 阳新县| 合作市| 襄垣县| 岚皋县| 抚顺县| 鄂尔多斯市| 鄂尔多斯市| 双城市| 武冈市| 灵宝市| 博兴县| 织金县| 武威市| 通渭县| 习水县| 铅山县| 锦州市| 夏津县| 林周县| 卢氏县| 云安县| 双鸭山市| 武川县| 林周县| 青田县| 称多县|