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

    1.字典的比较

    字典的比较顺序如下:

    1. 先比较字典的元素的个数,那个多,就哪个大;
    2. 比较字典的键,在比较字典的键的时候,需要注意的是比较的顺序是按照keys返回值来进行的比较;
    3. 比较字典的值,值也是按照items返回值来进行比较,主要就是按照数字和字母的大小比较;
    4. 如果以上的比较都相等,那么就都是相等的。

    cmp(dict1,dict2):如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1。

    >>>dict1={'name':'af','better':'yes'}
    >>> dict2={'age':'12'}
    >>> cmp(dict1,dict2)
    1
    >>> dict1={'name':'kel'}
    >>> dict2={}
    >>> cmp(dict1,dict2) #dict1的元素比dict2的多
    1
    >>> dict3={'name':'a'}
    >>> cmp(dict1,dict3) #dict1的kel比a大,字母k在a的后面
    1
    >>> dict4={'name':'kel','age':27}
    >>> dict5={'name':'mel','age':17} #比较的时候,根据keys返回的比较,所以27比17大,而不是比较我们看到的顺序
    >>> cmp(dict4,dict5)
    1
    #keys的顺序是'age','name'

    2.字典的合并

    1)借助dict(d1.items() + d2.items())的方法

    >>> d1={'a':'1','b':'2'}
    >>> d2={'c':'3'}
    >>> dict(d1.items()+d2.items())
    {'a': '1', 'c': '3', 'b': '2'}
    >>> 
    >>> dict(d2.items()+d1.items())
    {'a': '1', 'c': '3', 'b': '2'}
    >>> 
    >>> #有相同的key值,会合并
    >>> d3={'c':'3','b':'4'}
    >>> dict(d3.items()+d1.items())
    {'a': '1', 'c': '3', 'b': '2'}
    >>> dict(d1.items()+d3.items())
    {'a': '1', 'c': '3', 'b': '4'}

    备注:

    • d1.items()获取字典的键值对的列表
    • d1.items() + d2.items()拼成一个新的列表
    • dict(d1.items()+d2.items())将合并成的列表转变成新的字典

    2)借助字典的update()方法

    >>> d1 
    {'a': '1', 'b': '2'}
    >>> d3
    {'c': '3', 'b': '4'}
    >>> d4={}
    >>> d4.update(d1)
    >>> d4
    {'a': '1', 'b': '2'}
    >>> d4.update(d3)
    >>> d4
    {'a': '1', 'c': '3', 'b': '4'}
    >>> #使用copy
    >>> d4=d1.copy()
    >>> d4
    {'a': '1', 'b': '2'}
    >>> d4.update(d3)
    >>> d4
    {'a': '1', 'c': '3', 'b': '4'}

    3)借助字典的dict(d1, **d2)方法

    >>> d1 
    {'a': '1', 'b': '2'}
    >>> d3
    {'c': '3', 'b': '4'}
    >>> 
    >>> dict(d1,**d3)
    {'a': '1', 'c': '3', 'b': '4'}
    >>> dict(d3,**d1)
    {'a': '1', 'c': '3', 'b': '2'}

    4)借助字典的常规for循环处理方法

    >>> d1
    {'a': '1', 'b': '2'}
    >>> d3
    {'c': '3', 'b': '4'}
    >>> d4={}
    >>> 
    >>> for i,v in d1.items():
    ...     d4[i]=v
    ... 
    >>> d4
    {'a': '1', 'b': '2'}
    >>> for i,v in d3.items():
    ...     d4[i]=v
    ... 
    >>> d4
    {'a': '1', 'c': '3', 'b': '4'} 
  • 相关阅读:
    OpenJudge百炼习题解答(C++)--题4010:2011
    Centos6.5卸载图形化
    nfs远程挂载问题记录
    走马观花-浪里跳-学习英文
    weblogic部署存在中文乱码导致部署失败
    KMS11激活Window系列
    mysql8.x开启远程登录
    notepad++插件实现json、xml格式化
    RHEL SHELL快捷键
    linux-env命令解析
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/10563685.html
Copyright © 2011-2022 走看看