zoukankan      html  css  js  c++  java
  • python基本数据类型-字典dict

    1.定义

    {key1:value1,key2,value2}
    :左边为key,右边为value,即字典中数据的存储形式为键值对

    2.特性

    1.key-value结构(键值对)
    2.key必须为不可变数据类型,必须唯一。 如果在字典中定义个了两个或多个同名的key,则最后一个key会将之前的值覆盖。
    3.可存放任意多个value,可以修改,可以不唯一。
    4.无序
    5.查询速度快,且不受dict大小的影响(字典的查询不需要遍历整个字典,直接通过key值查询)

    3.字典常用操作

    3.1 增加
    >>> dict = {'name':'caizhi','age':21}
    >>> dict
    {'name': 'caizhi', 'age': 21}
    >>> dict['sex']='male'
    >>> dict
    {'name': 'caizhi', 'age': 21, 'sex': 'male'}
    
    3.2 删除
    3.2.1 pop()

    删除指定的key,并返回对应的value值

    >>> dict
    {'name': 'caizhi', 'age': 21, 'sex': 'male'}
    >>> dict.pop('sex')
    'male'
    >>> dict
    {'name': 'caizhi', 'age': 21}
    
    3.2.2 del

    同样是删除指定的key,但不返回对应的value值

    >>> dict
    {'name': 'caizhi', 'age': 21}
    >>> del dict['age']
    >>> dict
    {'name': 'caizhi'}
    
    3.2.3 clear()

    清空字典

    >>> dict
    {'name': 'caizhi'}
    >>> dict.clear()
    >>> dict
    {}
    
    3.3 修改

    通过key值修改其对应的value值

    >>> dict = {'name':'caizhi','age':21}
    >>> dict
    {'name': 'caizhi', 'age': 21}
    >>> dict['age']=22
    >>> dict
    {'name': 'caizhi', 'age': 22}
    
    3.4 查找
    3.4.1 直接使用key值查找

    直接使用key值查找,若key在字典中则返回其value值,找不到则会报错

    >>> dict
    {'name': 'caizhi', 'age': 22}
    >>> dict['name']
    'caizhi'
    >>> dict['sex']
    Traceback (most recent call last):
      File "<pyshell#16>", line 1, in <module>
        dict['sex']
    KeyError: 'sex'
    
    3.4.2 get()

    使用get(key)方法查找,若key在字典中则返回其对应的value值,否则返回None

    dict = {'name':'caizhi','age':21}
    res1 = dict.get('name')
    print(res1)
    res2 = dict.get('sex')
    print(res2)
    
    caizhi
    None
    
    3.4.3 in

    key在字典中则返回True,否则返回False

    >>> dict
    {'name': 'caizhi', 'age': 21}
    >>> 'name' in dict
    True
    >>> 'sex' in dict
    False
    
    3.4.4 keys()

    返回一个包含字典所有key的列表

    >>> dict.keys()
    dict_keys(['name', 'age'])
    >>> dict
    {'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
    >>> dict.keys()
    dict_keys(['name', 'age', 'hobby'])
    
    3.4.5 values()

    返回一个包含字典所有value的列表

    >>> dict.values()
    dict_values(['caizhi', 21])
    >>> dict
    {'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
    >>> dict.values()
    dict_values(['caizhi', 21, ['running', 'reading']])
    
    3.4.6 items()

    返回一个包含所有(键,值)元组的列表

    >>> dict
    {'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
    dict.items()
    dict_items([('name', 'caizhi'), ('age', 21), ('hobby', ['running', 'reading'])])
    
    3.5 循环
    3.5.1 for k in dict.keys()
    >>> dict
    {'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
    >>> for k in dict.keys():
    	print(k,dict[k])
    
    	
    name caizhi
    age 21
    hobby ['running', 'reading']
    
    3.5.2 for k,v in dic.items()
    >>> dict
    {'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
    >>> for k,v in dict.items():
    	print(k,v)
    
    	
    name caizhi
    age 21
    hobby ['running', 'reading']
    
    3.5.2 for k in dict # 效率最快
    >>> dict
    {'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
    >>> for k in dict:
    	print(k)
    
    	
    name
    age
    hobby
    >>> dict
    {'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
    >>> for k in dict:
    	print(k,dict[k])
    
    	
    name caizhi
    age 21
    hobby ['running', 'reading']
    
    3.6 求长度 len()

    python内置函数

    >>> dict
    {'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
    >>> len(dict)
    3
    
    created by Caizhi
  • 相关阅读:
    drf框架 APView的请求生命周期
    web API接口、restful规范
    vue项目安装插件配置
    vue项目、路由
    day67
    vue组件
    day66
    HDFS(Hadoop Distribute File System)
    JVM运行优化学习笔记
    ELK(检索)
  • 原文地址:https://www.cnblogs.com/cai-zhi/p/14322588.html
Copyright © 2011-2022 走看看