zoukankan      html  css  js  c++  java
  • 【Python—字典的用法】创建字典的3种方法

    #创建一个空字典
    empty_dict = dict() 
    print(empty_dict)
    
    #用**kwargs可变参数传入关键字创建字典
    a = dict(one=1,two=2,three=3) 
    print(a)
    
    #传入可迭代对象
    b = dict(zip(['one','two','three'],[1,2,3]))
    print(list(zip(['one','two','three'],[1,2,3])))
    print(b)
    
    #传入可迭代对象 
    c = dict([('one', 1), ('two', 2), ('three', 3)])
    print(c)
    
    c1 = dict([('one', 1), ('two', 2), ('three', 3),('three', 4),('three', 5)])
    print(c1)#如果键有重复,其值为最后重复项的值。 
    

    #传入映射对象,字典创建字典 d = dict({'one': 1, 'two': 2, 'three': 3}) print(d) print(a == b == c == d)

    输出:

    {}
    {'one': 1, 'two': 2, 'three': 3}
    [('one', 1), ('two', 2), ('three', 3)]
    {'one': 1, 'two': 2, 'three': 3}
    {'one': 1, 'two': 2, 'three': 3}
    {'one': 1, 'two': 2, 'three': 5}
    {'one': 1, 'two': 2, 'three': 3}
    True

    知识点:

    class dict(**kwarg)
    class dict(mapping, **kwarg)
    class dict(iterable, **kwarg)

    在python中,*arg表示任意多个无名参数,类型为tuple;**kwargs表示关键字参数,为dict。参考【Python—参数】*arg与**kwargs参数的用法

    python官方文档中说明,如果传入的是可迭代对象,则可迭代对象中的每一项自身必须是可迭代的,并且每一项只能有两个对象。第一个对象成为新字典的键,第二个对象成为其键对应的值。如果键有重复,其值为最后重复项的值。

    # 用 class dict(mapping, **kwarg) 创建一个并集字典,会影响相同键不同值的项  
    union = dict(s1,**s2)  
    print (union)

    输出:

    {'d': 4, 'a': 3, 'e': 3, 'f': 4, 'c': 4, 'b': 3}

     知识点:

    在函数调用时,**会以键/值对的形式解包一个字典,使其成为独立的关键字参数。参考【Python—参数】*arg与**kwargs参数的用法

  • 相关阅读:
    2019.8.16
    一种抠环的办法
    [HAOI2015]树上染色
    有关树形背包
    2019.7.27
    有关矩阵快速幂
    2019.7.25
    欧拉函数(转载)
    2019.7.22
    phpstudy集成环境安装redis扩展
  • 原文地址:https://www.cnblogs.com/xujiu/p/8352608.html
Copyright © 2011-2022 走看看