zoukankan      html  css  js  c++  java
  • python基础-3分钟掌握 字典 使用

    一、 字典简介:

    • 字典属于一种新的数据结构,称为映射(mapping)
    • 字典的作用和列表类似,都是用来存储对象的容器
    • 在字典中每一个元素(对象)都有一个唯一的名字(key),通过这个唯一的名字可以快速的查找到指定的元素,通过key可以快速的查询对象的值(value)。
    • 字典的结构是 键值对(key-value)结构
    • 每个字典中都可以有多个键值对,而每一个键值对,我们称其为一项(item)

    二、字典的使用:

    创建字典:

    方法一:
    使用 { }创建
    语法:{key1:v1,key2:v2,key3:v3}
    方法二:
    使用dict()函数创建字典
    每一个参数都是一个键值对,参数名就是键,参数名就是值(这种方式创建的字典,key都是字符串)
    双值序列:序列中只有两个值 ,如[1,2]等
    子序列:如果序列中的元素也是序列,那么我们称这个元素为子序列。

    # 方法一创建示例
    d = {'key1':'v1','key2':'v2','key3':'v3'}
    print(d)
    print('='*40)
    # 方法二创建示例
    f = dict([('name','嘻嘻哈哈'),('age',22)])
    print(f , type(f))
    

    运行结果图:在这里插入图片描述

    字典长度获取:

    len() 获取字典中键值对的个数
    实例:print(len(d))
    
    • 字典值检查:
      in 检查字典中是否包含指定的键
      not in 检查字典中是否不包含指定的键
    • 字典中值的获取:
      根据键值获取 :语法:d[key]
    #根据键值取值实例
    d = dict(name='嘻嘻哈哈',age=22,gender='男') 
    n = 'name'
    print(d[n])
    # 通过[]来获取值时,如果键不存在,会抛出异常 KeyError
    #get(key[, default]) 该方法用来根据键来获取字典中的值
    # 如果获取的键在字典中不存在,会返回None
    #也可以指定一个默认值,来作为第二个参数,这样获取不到值时将会返回默认值
    print(d.get('name'))
    print(d.get('hahha','默认值')) 
    

    修改字典:

    **添加方法一**:
    
    #添加方法一实例
    # d[key] = value 如果key存在则覆盖,不存在则添加
    d['name'] = 'sunwukong' # 修改字典的key-value
    d['address'] = 'shanxi' # 向字典中添加key-value
    
    # print(d)
    # setdefault(key[, default]) 可以用来向字典中添加key-value
    #   如果key已经存在于字典中,则返回key的值,不会对字典做任何操作
    #   如果key不存在,则向字典中添加这个key,并设置value
    result = d.setdefault('name','xixihaha')
    result = d.setdefault('hello','xixihaha')
    # print('result =',result)
    # print(d)
    

    添加方法二

    # update([other])
    # 将其他的字典中的key-value添加到当前字典中
    # 如果有重复的key,则后边的会替换到当前的
    d = {'a':1,'b':2,'c':3}
    d2 = {'d':4,'e':5,'f':6, 'a':7}
    d.update(d2)
    
    # print(d)
    # 删除,可以使用 del 来删除字典中的 key-value
    del d['a']
    del d['b']
    

    删除方法一:

    # popitem()
    # 随机删除字典中的一个键值对,一般都会删除最后一个键值对
    #   删除之后,它会将删除的key-value作为返回值返回
    #   返回的是一个元组,元组中有两个元素,第一个元素是删除的key,第二个是删除的value
    # 当使用popitem()删除一个空字典时,会抛出异常 KeyError: 'popitem(): dictionary is empty'
    # d.popitem()
    # result = d.popitem()
    

    删除方法二:

    # pop(key[, default])
    # 根据key删除字典中的key-value
    # 会将被删除的value返回!
    # 如果删除不存在的key,会抛出异常
    #   如果指定了默认值,再删除不存在的key时,不会报错,而是直接返回默认值
    result = d.pop('d')
    result = d.pop('z','这是默认值')
    

    删除方法三:

    # del d['z'] z不存在,报错
    # result = d.popitem()
    # result = d.popitem()
    # result = d.popitem()
    # result = d.popitem()
    
    # clear()用来清空字典
    d.clear()
    
    # print('result =',result)
    # print(d)
    

    字典拷贝:

    copy() ------ 该方法用于对字典进行浅复制
    复制以后的对象,和原对象是独立,修改一个不会影响另一个
    注意:浅复制会简单复制对象内部的值,如果值也是一个可变对象,这个可变对象不会被复制

    三、字典遍历:

    方法一:
    keys() 该方法会返回字典中的所有的key。
    该方法返回一个序列,序列中保存有字典中的所有的键。
    
    d = {'name':'嘻嘻哈哈','age':33,'gender':'男'}
    # 通过遍历keys()来获取所有的键
    for k in d.keys() :
    print(k , d[k])
    
    方法二:
    values()
    这种方法返回一个序列,序列中保存有字典中的所以的值。
    
    # 操作实例
    d = {'name':'嘻嘻哈哈','age':33,'gender':'男'}
    for a in d.values() :
    	print(a)
    
    方法三:
    itms( )
    该方法会返回字典中所有的项
    返回值为一个序列,序列中包含有双值的子序列。
    双值分别为:key和value
    
    #使用实例
    d = {'name':'嘻嘻哈哈','age':33,'gender':'男'}
    for k,v in d.items():
    	print(k,'=',v)
    

    实例运行结果图:
    在这里插入图片描述

    四、字典和列表对比:

    1.列表存储数据的性能很好,但是查询数据的性能的很差
    2.在查询元素时,字典的效率是非常快的,远高于列表。
    3.字典中通过key确定,key不可以重复,列表通过索引来确定字符。

  • 相关阅读:
    利用SOLR搭建企业搜索平台 之——Solr索引基本操作
    利用SOLR搭建企业搜索平台 之——solr配置solrconfig.xml
    利用SOLR搭建企业搜索平台 之——模式配置Schema.xml
    利用SOLR搭建企业搜索平台 之——solr的查询语法
    利用SOLR搭建企业搜索平台 之——MultiCore
    利用SOLR搭建企业搜索平台 之——配置文件
    利用SOLR搭建企业搜索平台 之——运行solr
    iOS masonry设置控件的优先级
    iOS label通过内容获取高度
    iOS textField的一些奇怪问题
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12755246.html
Copyright © 2011-2022 走看看