zoukankan      html  css  js  c++  java
  • python字典操作

    python中字典用于存放具有映射关系的数据
    字典中的key不能相同
    字典中的key必须为不可变类型,所以可以是数、字符串、元组, 但不能是列表

    创建字典

    通过{}创建

    dict1 = {'eric': 80, 'bob': 90} 
    dict2 = {}
    

    通过函数dict()创建

    a = [('eric', 80), ('bob', 90)]
    dict3 = dict(a)			# {'eric': 80, 'bob': 90} 
    
    dict4 = dict()			# {}
    
    dict5 = dict(eric=80, bob=90)		# {'eric': 80, 'bob': 90} 
    

    通过zip()创建

    1. zip(key_seq, value_seq)
    dict6 = dict(zip('abc', [1, 2, 3]))		# {'a': 1, 'b': 2, 'c': 3}
    

    通过dict.fromkeys()创建

    1. dict.fromkeys(key_seq, value)
      通常用来初始化字典, 设置value的默认值
    dict6 = dict.fromkeys('abc', 0)          # {'a': 0, 'b': 0, 'c': 0}
    dict7 = dict.fromkeys(range(3), 'x')     # {0: 'x', 1: 'x', 2: 'x'}
    

    通过字典推导式创建

    dict8 = {i: 2*i for i in range(3)}  		# {0: 0, 1: 2, 2: 4}
    

    根据key获取value

    1. dict[key]
    2. dict.get(key)
    3. dict.get(key, value)
      • 当key存在时返回key对应的value
      • 当key不存在时返回设置的默认value
    dict9 = {'eric': 80, 'bob': 90}
    a = dict9.get('eric', None)    # 80
    b = dict9.get('jean', None)    # None
    c = dict9.get('jean')          # None
    

    获取字典长度

    1. 获取字典长度(字典中键值对的个数) len(dict)

    获取字典中所有key-value, key, value

    1. 获取字典中所有key-value对: dict.items()
    2. 获取字典中所有key:dict.keys()
    3. 获取字典中所有value: dict.values()
    dict10 = {'eric': 80, 'bob': 90}
    print(list(dict10.items()))   # [('eric', 80), ('bob', 90)]
    print(list(dict10.keys()))    # ['eric', 'bob']
    print(list(dict10.values()))  # [80, 90]
    

    设置指定key对应的value值

    1. dict[key] = value
    2. dict.setdefault(key, value)
      • 当key存在时对应的value不变
      • 当key不存在时, 字典尾部新增一个key-value对
    dict11 = {'eric': 80, 'bob': 90}
    dict11.setdefault('eric', 0)
    print(dict11)	    # {'eric': 80, 'bob': 90}
    
    dict11.setdefault('jean', 0)
    print(dict11)       # {'eric': 80, 'bob': 90, 'jean': 0}
    

    删除字典

    1. 删除字典: del dict
    2. 清空字典: dict.clear()
    3. 删除指定key-value: dict.pop(key, value)
      • 当key存在时,删除对应key-value, 并返回key对应的value
      • 当key不存在时,不删除字典元素, 返回value值
    4. 随机返回并删除字典中的一对键和值(一般删除末尾对):dict.popitem()
    dict12 = {'eric': 80, 'bob': 90}
    a = dict12.pop('eric', 10)
    print(a)        # 80
    print(dict12)   # {'bob': 90}
    
    dict13 = {'eric': 80, 'bob': 90}
    b = dict13.pop('jean', 10)
    print(b)        # 10
    print(dict13)   # {'eric': 80, 'bob': 90}
    
    dict14 = {'eric': 80, 'bob': 90}
    a = dict14.popitem()
    print(a)    # ('bob', 90)
    print(dict14)   # {'eric': 80}
    

    字典转化

    1. 将字典转化为字符串: str(dict)
    dict15 = {'eric': 80, 'bob': 90}
    print(str(dict15))		# "{'eric': 80, 'bob': 90}"
    
    # list(dict)是获取字典的key list
    print(list(dict15))		# ['eric', 'bob']  
    

    判断字典中是否包含指定的key

    1. 判断字典中是否包含指定的key: key in dict

    字典复制

    1. 字典复制(浅拷贝): a = dict
    2. 字典复制(深拷贝): a = dict.copy()
    print(id(b) == id(a))   # True  浅拷贝
    print(id(c) == id(a))   # False 深拷贝
    

    使用字典格式化字符串

    temp = '姓名:%(name)s, 年龄:%(age)d, 薪资:%(salary)010.2f'
    eric = {'name': 'eric', 'age': 18, 'salary': 500000}
    temp_format = temp % eric
    print(temp_format)		# "姓名:eric, 年龄:18, 薪资:0500000.00"
    
  • 相关阅读:
    洞察移动互联网的未来,互联网营销 狼人:
    Twitter模式:改造140字,互联网营销 狼人:
    如何改善网站的“跳出率”,互联网营销 狼人:
    Google如何设定目标和衡量成功,互联网营销 狼人:
    像Google一样开会,互联网营销 狼人:
    互联网创业六大经典创业理论,互联网营销 狼人:
    当你输入一个网址的时候,实际会发生什么?,互联网营销 狼人:
    有了HTML5,Flash还能走多远?,互联网营销 狼人:
    FlashPlayer 10.1将灭掉HTML5,互联网营销 狼人:
    初始化文件理解 Cocos2D 如何绘制帧
  • 原文地址:https://www.cnblogs.com/ericness/p/12682307.html
Copyright © 2011-2022 走看看