中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python dict常用方法是什么?

發布時間:2020-06-23 14:05:52 來源:億速云 閱讀:199 作者:清晨 欄目:開發技術

不懂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, 2, 8, 3, 12, 3]
# 升序
list4.sort()
print(list4)
# 降序
list4.reverse()
print(list4)
# 創建一個二維數組
list_muti = [[0, 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常用方法是什么?內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴城市| 唐海县| 玉溪市| 盐山县| 印江| 黄梅县| 黄山市| 文水县| 修文县| 鞍山市| 新建县| 宁陕县| 玛纳斯县| 新乐市| 龙游县| 丹巴县| 托克逊县| 阿拉尔市| 富蕴县| 林芝县| 乌苏市| 申扎县| 宜宾市| 桃源县| 封丘县| 汝阳县| 抚宁县| 高台县| 平和县| 绥棱县| 盐津县| 吴江市| 宜兰县| 潜山县| 陕西省| 邵东县| 保亭| 阜宁县| 日喀则市| 霍林郭勒市| 潼南县|