欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python dict的常用方法示例代碼

 更新時(shí)間:2020年06月23日 10:10:26   作者:Stackery.  
這篇文章主要介紹了Python dict的常用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

常用方法

淺拷貝copy

a = {"ilpy1": {"company": "aaa"},
   "ilpy2": {"company": "bbb"}
   }
new_dict = a.copy()
new_dict["ilpy1"]["company"] = "wtf"
print(new_dict)
print(a)
print(id(a))
print(id(new_dict))
print(id(new_dict["ilpy1"]["company"]))
print(id(a["ilpy1"]["company"]))

然后我們發(fā)現(xiàn),執(zhí)行這一步操作時(shí)new_dict["ilpy1"]["company"] = "wtf",對a也執(zhí)行了修改,比較id可知new_dict["ilpy1"]["company"]))a["ilpy1"]["company"]指向了同一位置,而anew_dict指向不同位置,這就是淺拷貝的副作用

深拷貝

這并不是dict自帶的方法而是來自python的一個(gè)包copy

import copy

a = {"ilpy1": {"company": "aaa"},
   "ilpy2": {"company": "bbb"}
   }


new_dict = copy.deepcopy(a)
print(id(a))
print(id(new_dict))
a['ilpy1']['company'] = "666"
print(a)
print(new_dict)

list轉(zhuǎn)換dict

import copy

a = {"ilpy1": {"company": "aaa"},
   "ilpy2": {"company": "bbb"}
   }
myList = ['aaa', 'bbb']
new_dict = dict.fromkeys(myList, "2")
print(new_dict)

items

a = {"ilpy1": {"company": "aaa"},
   "ilpy2": {"company": "bbb"}
   }
for key,value in a.items():
   print(key,value)

clear

a = {"ilpy1": {"company": "aaa"},
   "ilpy2": {"company": "bbb"}
   }
# clear 清楚dict元素
# a.clear()
# print(a)

update

a = {"ilpy1": {"company": "aaa"},
   "ilpy2": {"company": "bbb"}
   }

a.update(a=1,b=2)
print(a)

傳入可迭代對象也可

a = {"ilpy1": {"company": "aaa"},
   "ilpy2": {"company": "bbb"}
   }

a.update([('1','2')])
print(a)
a.update((('1','2'),))
print(a)

setdefault

Python 字典 setdefault() 函數(shù)和 get()方法 類似, 如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為默認(rèn)值。所以當(dāng)我們需要快速判斷鍵值對是否存在并且加上去的時(shí)候就可以使用此方法

ps:下面看下python-dict和list常用方法

# *********-list-*********
# 創(chuàng)建一個(gè)list
list1 = [1, 2, '力氣,', 'afd']
print(type(list1))
print(list1)
# 添加單個(gè)元素
list1.append('ffff')
print(list1)
list2 = ['ff2', 34]
# 添加list
list2.extend(list1)
print(list2)
# 獲取指定index的元素
print(list2[2])
# 刪除指定values元素
list2.remove('value')
# 刪除index=2的元素
del list2[2]
print(list2)
# 創(chuàng)建一個(gè)list1中的數(shù)據(jù)重復(fù)2次的list3
list3 = list1*2
print(list3)
# 排序
list4 = [1, 2, 8, 3, 12, 3]
# 升序
list4.sort()
print(list4)
# 降序
list4.reverse()
print(list4)
# 創(chuàng)建一個(gè)二維數(shù)組
list_muti = [[0, 0, 1]]*2
print(list_muti)
print(list_muti[0][1])
# *********-dict-*********
# 創(chuàng)建一個(gè)dict
dict1 = {}
print(type(dict1))
# 字典添加元素
dict1['a'] = 'value-a'
print(dict1)
# 批量添加元素
listx = []
for value in ('abced'):
  for key in (['abcde', 're', 1, 'n你re1', 3]):
    if key in listx:
      continue
    else:
      listx.append(key)
      # print(value)
      # print(key)
      dict1[key] = value
      break
print(dict1)
# dict里的fromkeys方法
dict1 = dict1.fromkeys(('a', 'ccc'), """ "nn'n'" """)
print(dict1)
# 獲取keys之后轉(zhuǎn)成list顯示
keylist = list(dict1.keys())
print('%s' % keylist[0])
# 獲取values之后轉(zhuǎn)成list顯示
valuelist = list(dict1.values())
print('%s' % valuelist[0])
print(dict1)
# 獲取key對應(yīng)的value
value = dict1['a']
print(value)
value2 = dict1.get('ccc', '木有找到')
# 與dict.get()方法一致,但是如果沒有對應(yīng)的key會(huì)自動(dòng)創(chuàng)建一個(gè)key,value為none
dict1.setdefault('m')
print(dict1)
# 更新字典,如果沒有對應(yīng)的key會(huì)自動(dòng)添加key-dict
dict1.update({'ccc': 'fff2'})
print(dict1)
value2 = dict1.get('ccc1', '木有找到')
print(value2)

總結(jié)

到此這篇關(guān)于Python dict的常用方法的文章就介紹到這了,更多相關(guān)Python dict的常用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python編程使用selenium模擬登陸淘寶實(shí)例代碼

    python編程使用selenium模擬登陸淘寶實(shí)例代碼

    這篇文章主要介紹了python編程使用selenium模擬登陸淘寶實(shí)例代碼,涉及selenium的簡介及Windows下的安裝,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • pytest用例間參數(shù)傳遞的兩種實(shí)現(xiàn)方式示例

    pytest用例間參數(shù)傳遞的兩種實(shí)現(xiàn)方式示例

    pytest提供了許多運(yùn)行命令以供定制化運(yùn)行某一類測試用例或者某個(gè)測試用例等,下面這篇文章主要給大家介紹了關(guān)于pytest用例間參數(shù)傳遞的兩種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • python中itertools模塊使用小結(jié)

    python中itertools模塊使用小結(jié)

    itertools 是python的迭代器模塊,itertools提供的生成迭代器的函數(shù),相當(dāng)高效且節(jié)省內(nèi)存。使用這些工具,你將能夠創(chuàng)建自己定制的迭代器用于高效率的循環(huán)。接下來通過本文給大家介紹python中itertools模塊使用,感興趣的朋友一起看看吧
    2021-11-11
  • Python獲取當(dāng)前時(shí)間日期的實(shí)現(xiàn)示例

    Python獲取當(dāng)前時(shí)間日期的實(shí)現(xiàn)示例

    本文主要介紹了Python獲取當(dāng)前時(shí)間日期,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python中的下劃線多種用法總結(jié)

    python中的下劃線多種用法總結(jié)

    在 Python 中,下劃線(underscore)有多種用法,它在不同的上下文中可以扮演不同的角色,本文將介紹python中的下劃線用法總結(jié),感興趣的朋友一起看看吧
    2024-05-05
  • Python Print實(shí)現(xiàn)在輸出中插入變量的例子

    Python Print實(shí)現(xiàn)在輸出中插入變量的例子

    今天小編就為大家分享一篇Python Print實(shí)現(xiàn)在輸出中插入變量的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 梯度下降法介紹及利用Python實(shí)現(xiàn)的方法示例

    梯度下降法介紹及利用Python實(shí)現(xiàn)的方法示例

    梯度下降算法是一個(gè)很基本的算法,在機(jī)器學(xué)習(xí)和優(yōu)化中有著非常重要的作用,下面這篇文章主要給大家介紹了關(guān)于利用Python實(shí)現(xiàn)梯度下降法的相關(guān)資料,對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 如何基于線程池提升request模塊效率

    如何基于線程池提升request模塊效率

    這篇文章主要介紹了如何基于線程池提升request模塊效率,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Pandas中resample方法詳解

    Pandas中resample方法詳解

    這篇文章主要介紹了Pandas中resample方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Django+Uwsgi+Nginx如何實(shí)現(xiàn)生產(chǎn)環(huán)境部署

    Django+Uwsgi+Nginx如何實(shí)現(xiàn)生產(chǎn)環(huán)境部署

    這篇文章主要介紹了Django+Uwsgi+Nginx如何實(shí)現(xiàn)生產(chǎn)環(huán)境部署,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評論