• python 基础 1.5 python数据类型(四)--字典常用方法示例


    一. 字典
    #字典
    dict1 = {'name':'lzc','age':'20','sex':'man'}
    print dict1
    print type(dict1)
    >>> {'age': '20', 'name': 'lzc', 'sex': 'man'}
    >>> <type 'dict'>
     
     
    #list() tuple() dict() 相互转换
    k1 = dict(a=1,b=2,c=3)
    print k1
    >>> {'a': 1, 'c': 3, 'b': 2}
     
    k2 = dict([('name','lzc'),('age','20')])
    print k2
    >>> {'age': '20', 'name': 'lzc'}
     
     
     
    二.字典常用的方法
    #字典常用的方法
    print dir(dict)
    >>> 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues
     
    #clear() 用于删除字典内所有元素
    k3 = {'name':'lzc','age':20,'sex':'man'}
    print k3
    print k3.clear() //clear清除了字典k3中的所有元素
    >>> {'age': 20, 'name': 'lzc', 'sex': 'man'}
    >>> None
     
     
    #copy() 方法返回一个字典的浅复制
    #copy 复制一个字典
    k3 = {'name':'lzc','age':20,'sex':'man'}
    k4 = k3.copy()
    print k4
    >>> {'age': 20, 'name': 'lzc', 'sex': 'man'}
     
     
    #get 返回函数指定key的值,即key对应的value的值
    k3 = {'name':'lzc','age':20,'sex':'man'}
    print k3.get('name')
    print k3.get('age')
    print k3.get('sex')
    >>> lzc
    >>> 20
    >>> man
     
    通过格式化方式,通过key获取value值
    k3 = {'name':'lzc','age':20,'sex':'man'}
    print 'name %s' % k3.get('name')
    print 'age %s' % k3.get('age')
    print 'sex %s' % k3.get('sex')
    >>> name lzc
    >>> age 20
    >>> sex man
     
     
    #setdefault() 与get()方法类似,如果键值不存在于字典中,将会添加键值并将值设置为默认值
    k3 = {'name':'lzc','age':20,'sex':'man'}
    print k3.setdefault('name')
    print k3.setdefault('age')
    print k3.setdefault('sex')
    print '^^^^^'*20
    >>> lzc
    >>> 20
    >>> man
    >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    print k3.setdefault('name','liuzhenchuan')
    print k3.setdefault('age','liuzhenchuan')
    print k3.setdefault('address','beijing')
    print k3
    >>> lzc //说明,如果key所对应的value值存在则不会更改
    >>> 20
    >>> beijing //key所对应的value值不存在,添加默认的键值到
    字典中
    >>> {'age': 20, 'address': 'beijing', 'name': 'lzc', 'sex': 'man'}
     
     
    #keys() 以列表形式返回一个字典的所有键值
    k3 = {'name':'lzc','age':20,'sex':'man'}
    print k3.keys()
    >>> ['age', 'name', 'sex']
     
    #formkesy()方法 字典高级需求。把列表l中的元素当做字典中的keys值
    l = ['a','b','c']
    m = {}
    n = m.fromkeys(l,'values')
    print n
    >>> {'a': 'values', 'c': 'values', 'b': 'values'}
     
    注:也可以把 m.fromkeys 换成dict.formkeys
    l = ['a','b','c']
    m = {}
    n = dict.fromkeys(l,'values')
    print n
    >>> {'a': 'values', 'c': 'values', 'b': 'values'}
     
    #update() 方法,将dict2的键值对添加到dict。此方法不返回任何内容。
    dict = {'name':'maxsu','age':7}
    dict2 = {'sex':'female'}
    dict.update(dict2)
    print dict
    >>> {'age': 7, 'name': 'maxsu', 'sex': 'female'}
     
     
    # sorted 对字典进行排序 .用key函数排序,返回有tuple组成的list
    # iteritems 函数变量
    # lambda d :匿名函数d,d[1] 从第一位开始,切片
    #reverse = False 反向排序
    # reverse = True 降序
    # reverse = False 升序
     
    students = [('join','A',15),('jane','B',12),('dave','B',20)]
    print sorted(students,key=lambda student:student[2],reverse=False) //student[2] 按着students列表切片2的位置,升序排序
    >>> [('jane', 'B', 12), ('join', 'A', 15), ('dave', 'B', 20)]
     
    #items() 函数以列表返回可遍历的(键,值)元组数组
    dict2 = {'a':1,'b':2,'c':3,'d':4,'e':5}
    print dict2.items()
    for i in dict2.items():
    print i
    >>> [('a', 1), ('c', 3), ('b', 2), ('e', 5), ('d', 4)]
    ('a', 1)
    ('c', 3)
    ('b', 2)
    ('e', 5)
    ('d', 4)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    PolarDB Btree 并发控制优化
    从函数计算到 Serverless 架构
    对软件系统的一些理解
    MySQL统计信息不准导致的性能问题
    Serverless 架构下的 AI 应用开发
    阿里云云原生一体化数仓数据安全能力解读
    400倍加速, PolarDB HTAP实时数据分析技术解密
    LindormOperator云原生实践
    Python RE 正则表达式模块
    Metasploit 生成各种后门
  • 原文地址:https://www.cnblogs.com/lzcys8868/p/7714488.html
Copyright © 2020-2023  润新知