ICode9

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

7、python_dict(字典)

2021-11-17 15:04:13  阅读:195  来源: 互联网

标签:陈奕迅 jay python dic dict key print 林俊杰 字典


字典是python中唯一一个映射类型,它是以{}括起来的键值对组成.在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将key_value保存在这个地址中,这种算法称为hash算法,所以,在dict中存储的Key-value中的key是必须是可以Hash的,hash具有雪崩效应,是不可变的,采用哈希算法是能够准确的计算内存地址而规定的


已知可哈希(不可变)的数据类型:int、str、tuple、bool
    不可哈希(可以变)的数据类型:list、dict、set

  语法:{key1:value1,key2:value2....}
注意:key必须是不可变的(可以hash)的;value没有要求,可以是任何类型的数据

  dict = {'jay': '周杰伦', 'jj': '林俊杰','eason':'陈奕迅'}
  print(dict) #{'jay': '周杰伦', 'jj': '林俊杰', 'eason': '陈奕迅'}

字典的增删改查

dic = {"昆凌":"杰伦老婆"}
dic['章子怡'] = "王峰老婆"               #新增
print(dic) #{'昆凌': '杰伦老婆', '章子怡': '王峰老婆'}
dic['章子怡'] = "威廉姆特单的老婆"        #如果key重复了,会替换掉原来的key
print(dic) #{'昆凌': '杰伦老婆', '章子怡': '威廉姆特单的老婆'}
dic.setdefault("马蓉","王宝强的前妻")
print(dic) #-{'昆凌': '杰伦老婆', '章子怡': '威廉姆特单的老婆', '马蓉': '王宝强的前妻'}
dic.setdefault("马蓉","松泽的现任?")    #如果字典中包含了这个key,setdefault将不起作用
print(dic) #{'昆凌': '杰伦老婆', '章子怡': '威廉姆特单的老婆', '马蓉': '王宝强的前妻'}
dic = {'jay': '周杰伦', 'jj': '林俊杰','eason':'陈奕迅'}
dic.pop("jay")         #删除周杰伦
print(dic) #{'jay': '周杰伦', 'jj': '林俊杰', 'eason': '陈奕迅'}

dic = {'jay': '周杰伦', 'jj': '林俊杰','eason':'陈奕迅'}
del dic["jay"]         #删除周杰伦
print(dic) #{'jj': '林俊杰', 'eason': '陈奕迅'}
dic = {'jay': '周杰伦', 'jj': '林俊杰','eason':'陈奕迅'}
dic1 = {"jay":"周洁轮","jj":"林俊杰","esaon":"成一询","vava":"王承泽"}
dic.update(dic1)
print(dic) #{'jay': '周洁轮', 'jj': '林俊杰', 'eason': '陈奕迅', 'esaon': '成一询', 'vava': '王承泽'}
  • 查(一般是通过key来查找具体的数据)
dic = {'jay': '周杰伦', 'jj': '林俊杰','eason':'陈奕迅'}
print(dic["jay"])        #周杰伦
print(dic.get("eason"))  #陈奕迅
print(dic.get("剑圣"))   #None
dic.setdefault("及时雨","宋江")
print(dic) #{'jay': '周杰伦', 'jj': '林俊杰', 'eason': '陈奕迅', '及时雨': '宋江'}

 

  • 字典的常用操作
dic = {"及时雨":"宋江","小李广":"华荣","黑旋风":"李逵"}
print(dic.keys())             #dict_keys(['及时雨', '小李广', '黑旋风'])

for key in dic.keys():
print(key)                    #及时雨\小李广\黑旋风

 

print(dic.items())            #dict_items([('及时雨', '宋江'), ('小李广', '华荣'), ('黑旋风', '李逵')]) 拿到的是键值对
print(dic.items())
for item in dic.items():
print(item[0])               #及时雨\小李广\黑旋风 拿到的是key
print(item[1])               #宋江\华荣\李逵 拿到的是value

 

标签:陈奕迅,jay,python,dic,dict,key,print,林俊杰,字典
来源: https://www.cnblogs.com/xuning-xuning/p/15567296.html

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

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

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

ICode9版权所有