• Python基础:dictionary


    0x00 简介

    字典(dictionary),是无序的,不能通过偏移来存取,只能通过键来读取内容。dic属于可变类型,但是组成字典的键必须是不可变的数据类型,比如数字、字符串、元组等。

    语法:dic = {'key':value}

    0x01 基本操作

    两种定义的方法

    >>> ainfo = {'name':'Xiaoming', 'gender':'male'}
    >>> binfo = dict(name='Xiaoming', gender='male')

    嵌套和修改

    >>> binfo = {'a' : [1,2,3] , 'b' : [4,5,6]}    #字典中嵌套列表
    >>> binfo
    {'a' : [1, 2, 3] , 'b' : [4, 5, 6] }  
    >>> binfo['a'][2] = 5 #value可在原地修改,属于可变类型 >>> binfo {'a' : [1, 2, 5] , 'b' : [4, 5, 6] }

    两种添加的方法

    >>> info = {'name':'Xiaoming', 'gender':'male'}
    >>> info['age'] = 10    #单个添加key和value
    >>> info
    {'name':'Xiaoming', 'gender':'male', 'age':10}
    
    >>> info = {'name':'Xiaoming', 'gender':'male'}
    info.update({'age':11, 'city':'Shanghai'})    #若update的key已存在,则会覆盖原value;若key不存在,则是创建
    >>> info
    {'name':'Xiaoming', 'gender':'male','age':11, 'city':'Shanghai'}

    三种删除的方法

    del

    >>>info = {'name':'Xiaoming', 'gender':'male','age':11, 'city':'Shanghai'}
    >>>del info['city']    #仅仅删除city这一个key
    >>>del info    #删除info这个dic

    clear

    >>> a = {'info':'info','age''=22}
    >>> a.clear()

    pop

    >>> a = {'name':'Sam','age':22}
    >>> a.pop('age')    #传入需要删除的key,返回value,然后从字典中删除
    22
    >>> a
    {'name':'Sam'}
    >>> a.pop('wealth','The key you want to pop does not exist')    #设置一个默认值,当pop的对象不存在时则提示该句话
    'The key you want to pop does not exist'

    注:列表使用pop方法时,指定的是索引的下标,如a.pop(0);而字典使用pop方法时,指定的是键名。

    has_key方法:判断某个键时候包含于字典中

    >>>women.has_key('dick')
    False

    以列表的形式单独返回key或者value

    >>> info = {'name':'Jerry', 'age'=23}
    >>> info.keys()
    ['name','age']
    >>> info.values()
    ['Jerry',23]

    items:生成一个字典的容器

    >>> info = {'name':'Jerry', 'age'=23}
    >>> info.items()
    [('name':'Jerry'),('age':23)]

    get:由键名返回值

    >>> info = {'name':'Jerry', 'age'=23}
    >>> info.get('name')
    'Jerry'
    >>> info.get('gender','do not exist')    #当get的键名不存在时,返回后面这句话
    'do not exist'
  • 相关阅读:
    Unity 之 中文乱码
    fork调用的底层实现
    Linux错误代码含义
    VMware 获取该虚拟机的所有权失败
    Qt ------ QAction
    C++ ------ const迭代器 和 const_iterator的区别
    IAR ------- 在线调试技巧
    STM32 ------ HardFault_Hander 中断函数
    从一张表中复制数据到另一张表中
    分布式任务调度平台xxl-job
  • 原文地址:https://www.cnblogs.com/tzuxung/p/5698979.html
Copyright © 2020-2023  润新知