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'} 
  • 相关阅读:
    SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问
    谷歌浏览器扩展程序manifest.json参数详解
    获取天气api
    UVA 10385 Duathlon
    UVA 10668 Expanding Rods
    UVALIVE 3891 The Teacher's Side of Math
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 11210 Chinese Mahjong
    UVA 11384 Help is needed for Dexter
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/10563685.html
Copyright © 2011-2022 走看看