zoukankan      html  css  js  c++  java
  • python中的字典

    在python中,字典是可变数据类型。

    可以通过下面案例证明:

    >>> dic = {'name': 'chenjun', 'age': 22}
    >>> id(dic)
    1922056241872
    >>> dic['gender'] = 'male'
    >>> dic
    {'name': 'chenjun', 'age': 22, 'gender': 'male'}
    >>> id(dic)
    1922056241872

    可见,字典增加一对键值,内存地址没有发生变化,说明字典是可变数据类型。

    字典常用操作如下:

    1.增删改查:>>> dic = {'name': 'chenjun'}#增加键值

    >>> dic['age'] = 22
    >>> dic
    {'name': 'chenjun', 'age': 22}
    #批量增加键值
    >>> dic.update({'gender': 'male', 'edu': 'high'}) >>> dic {'name': 'chenjun', 'age': 22, 'gender': 'male', 'edu': 'high'}
    #删除指定键并返回其对应值,若键不存该可给定默认值,否则报错
    >>> dic.pop('edu') 'high' >>> dic {'name': 'chenjun', 'age': 22, 'gender': 'male'}
    #删除一对键值
    >>> dic.popitem() ('gender', 'male') >>> dic {'name': 'chenjun', 'age': 22}
    #改字典键值
    >>> dic['age'] = 23 >>> dic {'name': 'chenjun', 'age': 23}
    #查询键对应值,没有该键则报错
    >>> dic['name']
    'chenjun'
    #查询键对应值,没有返回None
    >>> dic.get('name')
    'chenjun'
    #查询字典所有键或所有值或所有键值一起显示,返回对象形式,需要用list()函数显示出来
    >>> dic.keys() dict_keys(['name', 'age']) >>> list(dic.keys()) ['name', 'age'] >>> dic.values() dict_values(['chenjun', 23]) >>> list(dic.values()) ['chenjun', 23] >>> dic.items() dict_items([('name', 'chenjun'), ('age', 23)]) >>> list(dic.items()) [('name', 'chenjun'), ('age', 23)]
    #清空字典
    >>> dic.clear()
    >>> dic
    {}

    2.设置字典默认值

    >>> dic = {'name': 'chenjun', 'age': 23}
    若原来不存在执行添加操作
    >>> dic.setdefault('male', 'man') 'man' >>> dic {'name': 'chenjun', 'age': 23, 'male': 'man'}
    若原来已存在则不改变
    >>> dic.setdefault('age', 22) 23 >>> dic {'name': 'chenjun', 'age': 23, 'male': 'man'}

    3.dict.fromkeys()

    >>> userinfo = dict.fromkeys(['name', 'age', 'gender', 'edu'], None)
    >>> userinfo
    {'name': None, 'age': None, 'gender': None, 'edu': None}

    个人感觉这个功能是为了方便创建字典,在事先知道有哪些属性而不确定取值时可以这样先创建一个字典数据结构。

  • 相关阅读:
    操作系统——理论知识
    BEGIN-4 Fibonacci数列
    BEGIN-3 圆的面积
    面向对象三大特征之一:多态
    面向对象三大特征之二:继承
    package---包
    面向对象三大特征之一:封装
    关键字:This(上)
    无参构造与有参构造
    面向对象
  • 原文地址:https://www.cnblogs.com/tarantino/p/10219649.html
Copyright © 2011-2022 走看看