ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python学习之路--dict

2019-05-23 19:56:15  阅读:168  来源: 互联网

标签:dict1 name Python 18 age dic 学习 dict print


dict {key:value}

键值对,映射类型

dict中的key,必须是不可变数据类型,可哈希

             value:任意数据类型

数据类型划分:可变数据类型,不可变数据类型

不可变数据类型:不可更改,元组,bool,int,str   可哈希

可变数据类型:列表list,字典dict                             不可哈希

优点:二分查找查询

           存储大量的关系型数据

特点:3.5之前无序

dic = {
    'name': ['大门', '小明'],
    'py': [{'人数': '70', 'avg': '18'}],
    True: 1,
    (1, 2, 3): 'wuli',
     2:'eref',
}
print(dic)
#{'name': ['大门', '小明'], 'py': [{'人数': '70', 'avg': '18'}], True: 1, (1, 2, 3): 'wuli', 2: 'eref'}
View Code

增加

dict1 ={'age': 18, 'name': 'r', 'sex':'femal' }
dict1['high'] = 155 #没有键值对,添加
print(dict1)
dict1['age'] = 16  #有键,则覆盖
print(dict1)
'''
{'age': 18, 'name': 'r', 'sex': 'femal', 'high': 155}
{'age': 16, 'name': 'r', 'sex': 'femal', 'high': 155}
'''
View Code

setdefault()有键值,不做改变,没有,增加

#{'age': 18, 'name': 'r', 'sex': 'femal', 'weight': None}
dict1.setdefault('weight',150)
#{'age': 18, 'name': 'r', 'sex': 'femal', 'weight': 150}
dict1.setdefault('name','dh')
print(dict1)
#{'age': 18, 'name': 'r', 'sex': 'femal', 'weight': 150}
View Code

删除

pop() 有返回值,按键删除

print(dict1.pop('age'))
print(dict1)
# 18
# {'name': 'r', 'sex': 'femal'}
print(dict1.pop('bsjh','没有此键'))  #若不知道字典里有没有此键,则加个参数
print(dict1)
# 没有此键
# # {'name': 'r', 'sex': 'femal'}
View Code

popitem()随机删除,有返回值

dict1.popitem()
print(dict1)
#{'age': 18, 'name': 'r'}
View Code

clear()清空

del(‘key’)/dict

修改

dict1['age']=18

update() 把一个字典,覆盖更新到目标字典中

dict2 ={ 'name': 'r', 'weight':'75' }
dic ={'age': 18, 'name': 'r', 'sex':'femal'}
dict2.update(dic)
print(dic)
print(dict2)
# {'age': 18, 'name': 'r', 'sex': 'femal'}
# {'name': 'r', 'weight': '75', 'age': 18, 'sex': 'femal'}
View Code

查询

print(dict1.keys())
print(dict1.values())
print(dict1.items())

dict_keys(['age', 'name', 'sex'])
dict_values([18, 'r', 'femal'])
dict_items([('age', 18), ('name', 'r'), ('sex', 'femal')])

for i in dict1:  #for i in dict1.keys():
    print(i)
'''age
name
sex'''
for i in dict1.values():
    print(i)
'''18
r
femal'''
for i in dict1.items():
    print(i)
'''('age', 18)
('name', 'r')
('sex', 'femal')'''
View Code
for k,v in dict1.items():
    print(k,v)
# age 18
# name r
# sex femal
View Code
v1 =dict1['name']
print(v1)
print(dict1.get('name'))
print(dict1.get('name1','NNN'))
# r
# r
# NNN
View Code

嵌套

dic = {
    'name': ['alex','wusir','taibai'],
    'py9':{
        'time':'1213',
        'learn_money':19800,
        'address':'CBD'
    },
    'age':21
}
dic['age'] = 56
dic['name'].append('ritian')
print(dic)
{'name': ['alex', 'wusir', 'taibai', 'ritian'], 'py9': {'time': '1213', 'learn_money': 19800, 'address': 'CBD'}, 'age': 56}


dic['name'][1] = dic['name'][1].upper()
print(dic)
#{'name': ['alex', 'WUSIR', 'taibai'], 'py9': {'time': '1213', 'learn_money': 19800, 'address': 'CBD'}, 'age': 21}



dic['py9']['famel'] = 6
print(dic)
#{'name': ['alex', 'wusir', 'taibai'], 'py9': {'time': '1213', 'learn_money': 19800, 'address': 'CBD', 'famel': 6}, 'age': 21}
View Code

 

 

小结

dict: dict={'name:'alex'}

增: dict[‘age’]=21 存在就覆盖

dic.setdefault()没有就增加

 

删除:pop()按key删除,有返回值

           clear()

          del dic['name']

           popitem()随机删除,返回时元组

改:update

查:

dic.keys() 键

dic.values() 值

dic.items() 键值对

for k,v in dic.items():

    print(k,v)

get

dc.get(key,None)

标签:dict1,name,Python,18,age,dic,学习,dict,print
来源: https://www.cnblogs.com/rssblogs/p/10914022.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有