ICode9

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

Python字典的初识、增删改查及嵌套

2020-07-24 19:01:20  阅读:203  来源: 互联网

标签:get Python 数据类型 改查 dic 初识 key print 字典


为什么要有字典?

  • 列表可以存储大量的数据,但数据间的关联型不强
    列表的查询速度相对慢

    dict:字典,容器型数据类型

数据类型的分类:

  • 可变与不可变
  • 可变(不可哈希)的数据类型:
    列表list,字典dict,集合set
  • 不可变(可哈希)的数据类型:
    str,bool,int,tuple

字典的特点:

  • {}括起来,以键值对形式存储的容器型数据类型
    例:

    dic = {'诗人':{'name':'李白','苏轼','杜甫','白居易'},
                'age':[123,'七十八','五十',66]}
    
  • 键必须是不可变的数据类型

  • 值可以是任意数据类型,包括对象。

  • 字典在3.5版本之前(包括3.5)是无序的

  • 字典在3.6版本会按照初次建立字典的顺序排列,在学术上不认为是有序的

  • 字典在3.7以后都是有序的。

字典的优点:

  • 查询速度非常快,存储关联型的数据。

字典的缺点:

  • 以空间换时间

字典的创建方式:

  • 方式一:
    dic = dict((('one',1),('two',2),('three',3)))
    print(dic) # {'one': 1, 'two': 2, 'three': 3}
  • 方式二:
    dic = dict(one=1,two=2,three=3)
    print(dic) # {'one': 1, 'two': 2, 'three': 3}
  • 方式三:
    dic = ({'one':1,'two':2,"three":3})

验证字典的合法性:

  • 只能通过键找到值,不能通过值找到键,键在同一字典内必须要唯一
  • 字典的键必须是不可变的(可哈希)数据类型
    值可以存放任意数据类型

字典的增删改查:

增:

  • 方式一:键已存在则修改,不存在则在字典末尾追加之
    字典['键'] = 值

  • 方式二:键已存在则不变,不存在则增加
    字典.setdefault('键') # 添加一个值为空的键
    字典.setdefault('键',值) # 添加一个键值对

删:

  • pop:按照键删除

    • 字典.pop('键') #有返回值,返回的是键里面的值
  • 若要删除键不存在字典中,会报错,可以给键后面增加一个参数
    字典.pop('键','没有此键') # 这样不会报错

  • clear:清空
    dict.clear():清空字典内的数据,字典本身还存在

  • del:按照键删除
    del dic['key']若键不存在则会报错

改:

​ dic['key'] = '新值'

查:

  • 方式一:直接打印键值
    print(dic['key'])
    若键不存在则会报错
  • 方式二:get
    li = dic.get('key','自定义的返回值')
    print(li)
    若键不存在则显示为none
  • 还有三个特殊方法
    • keys():所有的键
      print(dic.keys()):
      将所有的键放进一个特殊的数据类型,dict_keys
      可以转换成列表
      print(list(dic.keys()))
 for key in dic.keys():
        print(key)
# 打印字典的每个键
  • values():所有的值
    print(dic.values()):打印所有的值
    可以转换成列表:

     print(list(dic.values()))
    
for values in dic.values():
        print(values)
# 打印字典的每个值
  • items():所有的键值对
    print(dic.items()):将所有的键值对以元组的形式放进一个特殊的数据类型中

     for i in dic.items():
            print(i)
    #  i 为每个元组
    

利用元组的拆包分别赋值:

for key,value in dic.items():
        print(key,value)
#  key,value:两个变量分别对应键和值

字典的嵌套:

dic = {
        'name':'汪峰',
        'age':48,
        'wife':[{'name':'国际章','age':38}]
        'children':{'girl_first':'小苹果','girl_second':'小怡','girl_three':'顶顶'}
    }

# 1.取出汪峰的名字。
dic.get('name')
# 2.获取这个字典:{'name':'国际章','age':38}
dic.get('wife')
# 3.获取wife的名字。
dic["wife"].get('name')
# 4.获取girl_second的名字
dic['children'].get('girl_second')

标签:get,Python,数据类型,改查,dic,初识,key,print,字典
来源: https://www.cnblogs.com/ChiRou/p/13373800.html

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

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

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

ICode9版权所有