色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:3日期:2022-08-02 15:37:05

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 copyd = {'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 .取值 ,沒有就是Nonevalue = 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 移除后面的一組itempopitem = 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) # aliprint(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’}# valuesvs = d.values()print(vs) #dict_values([’admin’, 12, ’ali’, ’dog’, ’java’])

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 91成人午夜性a一级毛片 | 99视频国产在线 | 成年人在线观看免费 | 在线三级网址 | 日韩亚洲欧美一区二区三区 | 欧美在线一区二区三区欧美 | 国产成人永久免费视频 | 亚洲天堂日韩在线 | 爽爽免费视频 | 久久久综合视频 | 18在线观看国内精品视频 | 一级毛片不卡免费看老司机 | 中文字幕一区二区三区视频在线 | 亚洲精品国产第一区第二区国 | 亚洲在线视频免费观看 | 欧美成人三级视频 | 美女一级毛片免费看看 | 男女午夜24式免费视频 | 国产精品2019| 亚洲另类激情综合偷自拍 | 欧美一区二区三区久久久人妖 | 九一精品 | 国产精品亚洲片在线观看不卡 | 亚洲国产中文字幕 | 欧美一区二区三区四区在线观看 | 91在线国产观看 | 欧美激情国产一区在线不卡 | 久久视频免费 | 91精品全国免费观看 | 欧美无玛| 国产成人精品久久一区二区三区 | 亚洲综合亚洲综合网成人 | a黄网站 | 精品久久中文字幕有码 | 亚洲国产精品看片在线观看 | 欧美日韩一区二区三区免费不卡 | 99久久久国产精品免费播放器 | 欧美超高清xoxoxoxo | 精品欧美日韩一区二区三区 | 在线观看亚洲人成网站 | 久久精品成人欧美大片免费 |