• Python基本类型-字典


    Python中的字典相当于.Net中的Dictionary或Java中的Mapping。它不是序列,而是一种映射。字典存储一系列“key:value”对,key(键)不可重复,value(值)可重复。举个栗子:

    >>>user_info={'name':'张三','age':20,'gender':''}

    我们可以通过键来读取或修改键所对应的值

    >>>user_info['name']
    '张三'
    
    >>>user_info['age']+=1
    >>>user_info
    {'name':'张三','age':21,'gender':''}

    Python中的字典是允许边界外的赋值的,给一个不存在的键赋值,字典会创建该键。

    >>>user_info={}
    >>>user_info['name']='李四'
    >>>user_info['age']=18
    >>>user_info['gender']=''

    >>>user_info {'name':'李四','age':18,'gender':''}

    >>>user_info['name']
    '李四'

    字典的值的类型是不受限制的,我们可以给它列表和字典类型达到嵌套的效果。

    >>>card={
                'num':'007'
                'name':{'first_name':'james','last_name':'bond'}
                'weapons':['gun','hypercar']
           }  
    
    >>>card['name']['first_name']
    'james'
    
    >>>card['weapons'][-1]
    'hypercar'

    作为映射,字典只支持通过键来获取元素,且字典不是序列,字典内的元素并不一定会按照输入的顺序排列。举个栗子:

    >>>D={'a':1,'b':2,'c':3}
    >>>D
    {'a': 1, 'c': 3, 'b': 2}

    然而我们怎么样按键的顺序输出列表内容呢,只能采用曲线救国的方式,先把键存到一个列表中,然后对列表进行排序,最后遍历列表,输出元素。

    >>>list_keys=list(D.keys())
    >>>list_keys
    ['a','c','b']
    
    >>>list_keys.sort()
    >>>list_keys
    ['a','b','c']
    
    >>>for key in list_keys:
           print(key,'=>',D[key])
    a
    => 1 b => 2 c => 3

    最近的Python版本中提供了sorted内置函数,sorted调用返回结果并对各种对象类型进行排序,当然,也可以对字典的键排序。

    >>>for key in sorted(D):
           print(key,'=>',D[key])
    
    a => 1
    b => 2
    c => 3

    判断键或值是否存在于该字典,可以用in或not in来判断

    >>>'f' in D           #D默认为D.keys()
    False
    
    >>>'f' in D.keys()
    False
    
    >>>'a' in D
    True
    
    >>>3 in D.values()
    True
  • 相关阅读:
    利用runtime特性来动态调用方法
    点击屏幕获取对应tableviewcell
    IOS7导航栏与状态栏融合适配方法之一
    推送证书生成.p12
    OpenGL基础学习杂文
    android入门1.1
    java基础
    “Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常。
    ArcEngine栅格和矢量渲染(含可视化颜色带)
    【转载】C#如何操控FTP,获取FTP文件或文件夹列表,获取FTP文件大小,FTP上传,FTP删除文件,FTP新建文件夹、删除文件夹
  • 原文地址:https://www.cnblogs.com/On-my-way/p/6908809.html
Copyright © 2020-2023  润新知