zoukankan      html  css  js  c++  java
  • python笔记-映射类型(字典)

    一、字典

    映射 对象会将 不可变的值 映射到任意对象。 映射属于可变对象。 目前仅有一种标准映射类型 字典

    1. 字典可以通过将以逗号分隔的 键: 值 对列表包含于花括号之内来创建
      • 例如: {'jack': 4098, 'sjoerd': 4127} 或 {4098: 'jack', 4127: 'sjoerd'}
    2. 通过dict()来构造映射对象
      • dict(one=1, two=2, three=3)
      • dict(zip(['one', 'two', 'three'], [1, 2, 3]))
      • dict([('two', 2), ('one', 1), ('three', 3)])
      • dict({'three': 3, 'one': 1, 'two': 2})
    >>> d = {"name": "dyp", "age": 21}
    >>> d
    {'name': 'dyp', 'age': 21}
    >>> d = dict(name="dyp", age=21)
    >>> d
    {'name': 'dyp', 'age': 21}
    >>> d = dict([("name", "dyp"),("age", 21)])
    >>> d
    {'name': 'dyp', 'age': 21}
    

    字典的 几乎可以是任何值

    • 可变对象 的值,即包含列表、字典或其他可变类型的值(此类对象基于值而非对象标识进行比较)不可用作键
    • 数字类型用作键时遵循数字比较的一般规则:如果两个数值相等 (例如 1 和 1.0) 则两者可以被用来索引同一字典条目

    二、字典支持的操作

    1. list(dict): 返回列表
    >>> d = {'name': 'dyp', 'age': 21}
    >>> list(d)
    ['name', 'age']
    
    1. len(dict): 返回字典 d 中的项数。
    2. dict[key]: 返回 dict 中以 key 为键的value。 如果映射中不存在 key 则会引发 KeyError。
    >>> d = {'name': 'dyp', 'age': 21}
    >>> d["name"]
    'dyp'
    
    1. dict[key] = value: 将 dict[key] 设为 value
    >>> d = {'name': 'dyp', 'age': 21}
    >>> d["name"] = "dyy"
    >>> d
    {'name': 'dyy', 'age': 21}
    
    1. del dict[key]: 将 dict[key]d 中移除。 如果映射中不存在 key 则会引发 KeyError
    >>> d = {'name': 'dyy', 'age': 21}
    >>> del d["name"]
    >>> d
    {'age': 21}
    
    1. key in d: 如果 d 中存在键 key 则返回 True,否则返回 False。
    2. key not in d: 等价于 not key in d。
    3. dict.clear(): 移除字典中的所有元素。
    4. dict.copy(): 返回原字典的浅拷贝。
    >>> d = {"name": "dyp", "age": 21}
    >>> d.copy()
    {'name': 'dyp', 'age': 21}
    
    1. dict.get(key[, default]): 如果 key 存在于字典中则返回 key 的值,否则返回 default。 如果 default 未给出则默认为 None,因而此方法绝不会引发 KeyError
    >>> d = {'name': 'dyp', 'age': 21}
    >>> d.get("age", 12)
    21
    
    1. dict.items(): 返回由字典项 (键, 值) 对 组成的一个新视图
    >>> d = {'name': 'dyp', 'age': 21}
    >>> d.items()
    dict_items([('name', 'dyp'), ('age', 21)])
    
    1. dict.keys(): 返回由字典键组成的一个新视图
    >>> d = {'name': 'dyp', 'age': 21}
    >>> d.keys()
    dict_keys(['name', 'age'])
    
    1. dict.pop(key[, default]): 如果 key 存在于字典中则将其移除并返回其值,否则返回 default。 如果 default 未给出且 key 不存在于字典中,则会引发 KeyError
    >>> d = {'name': 'dyp', 'age': 21}
    >>> d.pop("name")
    'dyp'
    
    1. dict.popitem(): 从字典中移除并返回一个 (键, 值) 对。 键值对会按 LIFO 的顺序被返回, 空字典会报错
    >>> d = {'age': 21, 'name': 'dyp'}
    >>> d.popitem()
    ('name', 'dyp')
    
    1. reversed(dict): 返回一个逆序获取字典键的迭代器
    2. dict.setdefault(key[, default]): 如果字典存在键 key ,返回它的值。如果不存在,插入值为 default 的键 key ,并返回 default 。 default 默认为 None
    >>> d = {'age': 21, 'name': 'dyp'}
    >>> d.setdefault("name", "dyy")
    'dyp'
    
    1. dict.update([other]): 使用来自 other键:值对更新字典,覆盖原有的键
    >>> d = {'age': 21, 'name': 'dyp'}
    >>> d.update({"name": "dyy", "age": 22})
    >>> d
    {'age': 22, 'name': 'dyy'}
    
    1. dict.values(): 返回由字典值组成的一个新视图
    >>> d = {'age': 22, 'name': 'dyy'}
    >>> d.values()
    dict_values([22, 'dyy'])
    
  • 相关阅读:
    Activemq安装
    Python小代码_12_生成前 n 行杨辉三角
    Python小代码_11_生成小于 n 的裴波那契数列
    Python小代码_10_判断是否为素数
    Python小代码_9_求水仙花数
    Python小代码_8_今天是今年的第几天
    Python小代码_7_字符串的字符次数统计
    Python小代码_6_列表推导式求 100 以内的所有素数
    Python小代码_5_二维矩阵转置
    关于列表元素的删除
  • 原文地址:https://www.cnblogs.com/duyupeng/p/13067624.html
Copyright © 2011-2022 走看看