• 字典常用的方法(内建函数)


    序号   函数 功能                                               
    1 clear()  
    2 copy()  
    3 fromkeys()  
    4 dict()  
    5 get()  
    6 items()  
    7 pop()  
    8 popitem()  
    9 hash()  
    10 keys()  
    11 values()  
    12 update()  
    13 setdefault()  

    1.clear():清楚字符串中的所有项,这是一个原地操作,没有返回值。

    >>> info = {'name':'kebi','age':'28'}
    >>> info.clear()
    >>> info
    {}

    2.copy方法返回一个具有相同键值对的新字典。新开辟了一个内存空间。

    >>> info = {'name':'kebi','age':'28'}
    >>> INFO = info.copy()
    >>> INFO
    {'name': 'kebi', 'age': '28'}
    >>> id(info)
    2410872824456   #内存地址不一样
    >>> id(INFO)
    2410871941304

    3.fromkeys:使用给定的键创建一个新的字典,每个键都对应一个默认的None。

    >>> {}.fromkeys(['name','age'])
    {'name': None, 'age': None}
    
    >>> fromkeys(['name','age']) #首先需要建立一个新的字典
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'fromkeys' is not defined
    
    >>> dict.fromkeys(['name','age'])   #也可以使用dict
    {'name': None, 'age': None}
    
    >>> dict.fromkeys(['name','age'],'unknow')
    {'name': 'unknow', 'age': 'unknow'}
    >>> {}.fromkeys('LOVE')     #可以作用于字符串
    {'L': None, 'O': None, 'V': None, 'E': None}
    >>> {}.fromkeys(('name','age')) #可以作用于元祖
    {'name': None, 'age': None}

    4.get():访问字典,即使键不存在,也不会报错,会返回None

    >>> info
    {'name': 'kebi', 'age': '28'}
    
    >>> info.get('name')
    'kebi'
    
    >>> print(info.get('sex'))
    None

    5.item():将字典中的所有项以列表方式返回。

    >>> info.items()
    dict_items([('name', 'kebi'), ('age', '28')])

    6.pop():获得对应于给定键的值,然后将这个键值对从字典中移除。

    >>> info
    {'name': 'kebi', 'age': '28'}
    >>> info.pop('age')
    '28'
    >>> info
    {'name': 'kebi'}

    7.popitem():随机弹出字典中最后一个键值对,并将其移除。

    >>> info = {'name':'kebi','age':'25','six':'women'}
    >>> info.popitem()     #弹出最后一个
    ('six', 'women')
    >>> info.pop()
    >>> info
    {'name': 'kebi', 'age': '25'}
    >>> info.popitem()         
    ('age', '25')

     8.hash():hash函数并不是专门为字典设计的方法,但是可以判断某个对象是否可以作为字典的键。

         将一个对象作为参数传给hash(),会返回这个对象的hash值。只有这个对象是可hash的,才可作为字典的键。

         如果将非可hash的对象作为参数传递给hash()方法,会产生TypeError错误。

    >>> hash('name')
    7578313563306818018  #可hash
    
    >>> hash({})
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unhashable type: 'dict'     #不可hash

    9.keys():返回一个包含字典中所有键的列表。

    >>> dict2
    {'name': 'value', 'age': 25}
    
    >>> dict2.keys()
    dict_keys(['name', 'age'])

    10.values():返回一个包含字典中所有值的列表。

    >>> dict2
    {'name': 'value', 'age': 25, 'abc': 123}
    
    >>> dict2.values()
    dict_values(['value', 25, 123])

    11.update():将另一个字典中的键值对添加到本字典中。

    >>> dict5 = {'name':'kebi','age':25}
    >>> dict6 = {'sex':'man','Like':'women'}
    
    >>> dict5.update(dict6)
    >>> dict5
    {'name': 'kebi', 'age': 25, 'sex': 'man', 'Like': 'women'}

    12.setdefault():与get方法类似,返回字典中某个键的值,如果有则返回,如果没有,会默认添加键以及值。

    >>> dict7 = {'name':'kebi','age':25}
    >>> dict7.setdefault('name')
    'kebi'
    
    >>> dict7.setdefault('sex')
    >>> dict7
    {'name': 'kebi', 'age': 25, 'sex': None}  #没有自己添加
    
    >>> dict7.setdefault('Like','women')      #也可以作为添加元素的方法
    'women'
    >>> dict7
    {'name': 'kebi', 'age': 25, 'sex': None, 'Like': 'women'}

    13.dict():可以通过映射其他序列建立字典。

    >>> info = [('name','kebi'),('age',25)]
    >>> dict(info)
    {'name': 'kebi', 'age': 25}
    
    >>> dict(name='kebi',age=25)  #name和age是键,不能加引号
    {'name': 'kebi', 'age': 25}
  • 相关阅读:
    Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
    "=="和equals方法究竟有什么区别?
    Tomcat发生java.lang.OutOfMemoryError: PermGen space的解决方案
    HashMap原理
    springMVC
    SqlServer和Oracle修改表结构语句
    quartz定时任务时间表达式说明
    Linq to Entity 时间差作为筛选条件产生的问题
    密码学基础
    C#如何使用异步编程【BeginInvoke/EndInvoke】
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/7704674.html
Copyright © 2020-2023  润新知