1. 程式人生 > 程式設計 >Python dict的常用方法示例程式碼

Python dict的常用方法示例程式碼

常用方法

淺拷貝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"]))

然後我們發現,執行這一步操作時new_dict["ilpy1"]["company"] = "wtf"

,對a也執行了修改,比較id可知new_dict["ilpy1"]["company"]))a["ilpy1"]["company"]指向了同一位置,而anew_dict指向不同位置,這就是淺拷貝的副作用

深拷貝

這並不是dict自帶的方法而是來自python的一個包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轉換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() 函式和 get()方法 類似,如果鍵不存在於字典中,將會新增鍵並將值設為預設值。所以當我們需要快速判斷鍵值對是否存在並且加上去的時候就可以使用此方法

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

# *********-list-*********
# 建立一個list
list1 = [1,2,'力氣,','afd']
print(type(list1))
print(list1)
# 新增單個元素
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)
# 建立一個list1中的資料重複2次的list3
list3 = list1*2
print(list3)
# 排序
list4 = [1,8,3,12,3]
# 升序
list4.sort()
print(list4)
# 降序
list4.reverse()
print(list4)
# 建立一個二維陣列
list_muti = [[0,1]]*2
print(list_muti)
print(list_muti[0][1])
# *********-dict-*********
# 建立一個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之後轉成list顯示
keylist = list(dict1.keys())
print('%s' % keylist[0])
# 獲取values之後轉成list顯示
valuelist = list(dict1.values())
print('%s' % valuelist[0])
print(dict1)
# 獲取key對應的value
value = dict1['a']
print(value)
value2 = dict1.get('ccc','木有找到')
# 與dict.get()方法一致,但是如果沒有對應的key會自動建立一個key,value為none
dict1.setdefault('m')
print(dict1)
# 更新字典,如果沒有對應的key會自動新增key-dict
dict1.update({'ccc': 'fff2'})
print(dict1)
value2 = dict1.get('ccc1','木有找到')
print(value2)

總結

到此這篇關於Python dict的常用方法的文章就介紹到這了,更多相關Python dict的常用方法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!