zoukankan      html  css  js  c++  java
  • 字典

    关于字典

    字典是另一种可变容器模型,且可存储任意类型对象。

    字典对象的本质是,一个通过键值而非索引 存取的无序的、可迭代、可变的映射表。键必须互不相同。


    字典 & 序列

    • 序列是以连续的整数为索引;字典以关键字为索引,关键字可以是任意不可变类型,通常用字符串或数值。

    创建

    • 字典的每个键值(key=>value)对用冒号 : 分割;
    • 键必须是唯一的,但值则不必。
    • 每个对之间用逗号, 分割;
    • 整个字典包括在花括号 {} 中,格式如下:
    d = {key1 : value1, key2 : value2 }
    
    
    # 空字典
    d1 = {}
    
    d2 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
    
    # 向内存申请一空闲内存单元存储 { 'abc': 456 },并将变量名 dict1 指向此内存单元的首地址
    dict1 = { 'abc': 456 }
    dict2 = { 'abc': 123, 98.6: 37 }
    
    
    >>> type(dict)
    <type 'dict'>
    
    # 查看dict类型的定义
    >>> help(dict)
    
    # 查看dict类型的属性和方法
    >>> dir(dict)
    

    属性

    相关内置函数:

    函数 描述
    len(dict) 计算字典元素个数,即键的总数。
    str(dict) 输出字典,以可打印的字符串表示。
    type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。
    >>> d = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} 
    >>> len(d) 
    3
     
    >>> str(d) 
    "{'Name': 'Runoob', 'Class': 'First', 'Age': 7}
    
    >>> type(dict) 
    dict
    

    访问

    相关方法

    函数 描述
    key in dict 如果键在字典dict里返回true,否则返回false
    d.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值
    d.items() 以列表返回可遍历的(键, 值) 元组数组
    d.keys() 返回一个迭代器,可以使用 list() 来转换为列表
    d.values() 返回一个迭代器,可以使用 list() 来转换为列表
    >>> d = { 'a': 1, 'b':2, 'c':3 }
    >>> d['a']
    1
    
    # for循环 迭代
    >>> for k in d:
                print('%s -> %s' % (k, d[k]))
    a -> 1
    b -> 2
    c -> 3
     
    >>> d.keys()
    dict_keys(['a', 'b', 'c'])
    
    >>> d.values()
    dict_values([1, 2, 3])
    
    >>> d.items()
    dict_items([('a', 1), ('b', 2), ('c', 3)])
    
    >>> d.get('d')  # 无 d,显示为空
       
    >>> d.get('d', default='99')
    ... TypeError: get() takes no keyword arguments
    
    >>> d.get('d', '99')  # 设置默认值
    '99'
    

    删除

    • 删除某个键值对
    • 删除这个字典

    相关方法

    函数 描述
    d.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    d.update(dict2) 把字典dict2的键/值对更新到dict里
    d.pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    d.popitem() 随机返回并删除字典中的最后一对键和值。
    d.clear() 删除字典内所有元素
    >>> d = { 'a': 1, 'b':2, 'c':3 }
    
    >>> id(d)
    140521338186000
    
    >>> del d['a']
    >>> d
    {'b': 2, 'c': 3}
    
    >>> id(d)
    140521338186000 # 和上方一致
    
    # 测试存在
    # in 判断 字典 中是否包含指定键
    >>> 'b' in d
    True
    
    >>> 2 in d
    False
    
    >>> del d
    >>> d
    ... NameError: name 'd' is not defined
    
    # 使用 clear 清空
    >>> d = { 'a': 1, 'b':2, 'c':3 }
    >>> d.clear()
    >>> d
    {}
    
    >>> d = { 'a': 1, 'b':2, 'c':3 }
    
    # 使用 pop 删除某键值对
    >>> d.pop('a')
    >>> d
    {'b': 2, 'c': 3}
    
    >>> d.pop('a')
    ... KeyError: 'a'
    >>> d.pop('a',2)
    2
      
    >>> d
    {'b': 2, 'c': 3}
     
    >>> d.popitem()
    ('c', 3)
    
    >>> d2 = {'d':4, 'e':5, 'f':6}
    # 将 d2 插入到 d 中
    >>> d.update(d2)
    >>> d
    {'b': 2, 'd': 4, 'e': 5, 'f': 6}
    

    其他方法

    Python字典包含了以下内置方法:

    函数 描述
    d.copy() 返回一个字典的浅复制
    d.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
  • 相关阅读:
    JAVA 大数据基本操作
    C++ set 基本操作
    JVM 线上故障排查基本操作
    Git基本常用命令
    Git 入门:概念、原理、使用
    30分钟学会如何使用Shiro
    做个男人,做个成熟的男人,做个有城府的男人
    Nginx的最基本功能以及简单配置
    博客网站
    单点登录原理与简单实现
  • 原文地址:https://www.cnblogs.com/fldev/p/14370799.html
Copyright © 2011-2022 走看看