python中常用的字典内建函数

    xiaoxiao2021-03-25  101

    1、len(mapping) 返回映射的长度(键-值对的个数)

    2、hash(obj) 返回obj的哈希值

    ? 1 2 3 4 5 >>> myDict = { 'name' : 'earth' , 'port' : '80' } >>> len(myDict) 2 >>> hash( 'name' ) 15034981

    3、dict.copy() 返回字典(浅复制)的一个副本

    ? 1 2 3 4 5 6 7 >>> myDict = { 'name' : 'earth' , 'port' : '80' } >>> yourDict = myDict.copy() >>> yourDict { 'name' : 'earth' , 'port' : '80' } >>> id(myDict)41816664L >>> id(yourDict) 41819544L

    4、dict.clear() 删除字典中所有元素

    ? 1 2 3 >>> myDict.clear() >>> myDict {}

    5、dict.fromkeys(seq, val=None)

    创建并返回一个新字典,以 seq 中的元素做该字典的键,val 做该字典中所有键对应的初始值(如果不提供此值,则默认为 None)。

    ? 1 2 3 >>> seq = [ 'name' , 'port' ] >>> myDict.fromkeys(seq) { 'name' : None, 'port' : None}

    6、dict.get(key)

    对字典 dict 中的键 key,返回它对应的值 value,如果字典中不存在此键,则返回 default 的值(注意,参数 default 的默认值为 None)。

    ? 1 2 3 4 5 >>> myDict = { 'name' : 'earth' , 'port' : '80' } >>> myDict.get( 'name' ) 'earth' >>> print myDict.get( 'home' ) None

    7、dict.items() 返回一个包含字典中(键, 值)对元组的列表

    ? 1 2 >>> myDict.items() [( 'name' , 'earth' ), ( 'port' , '80' )]

    8、dict.keys() 返回一个包含字典中键的列表

    9、dict.values() 返回一个包含字典中所有值的列表

    ? 1 2 3 4 >>> myDict.keys() [ 'name' , 'port' ] >>> myDict.values() [ 'earth' , '80' ]

    10、dict.iter() 方法 iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。

    11、dict.pop(key[, default]) 和方法 get()相似,如果字典中 key 键存在,删除并返回 dict[key],如果 key 键不存在,且没有给出 default 的值,引发 KeyError 异常。

    ? 1 2 3 4 5 6 >>> myDict.pop( 'port' ) '80' >>> myDict { 'name' : 'earth' } >>> myDict.pop( 'port' , 'No such key!' ) 'No such key!'

    12、dict.setdefault(key, default=None) 和方法 set()相似,如果字典中不存在 key 键,由 dict[key]=default 为它赋值。

    ? 1 2 3 4 >>> myDict.setdefault( 'port' , '8080' ) '8080' >>> myDict { 'name' : 'earth' , 'port' : '8080' }

    13、dict.update(dict2) 将字典 dict2 的键-值对添加到字典 dict。

    ? 1 2 3 4 5 6 >>> yourDict = { 'language' : 'Python' } >>> yourDict { 'language' : 'Python' } >>> myDict.update(yourDict) >>> myDict { 'name' : 'earth' , 'language' : 'Python' , 'port' : '8080' }
    转载请注明原文地址: https://ju.6miu.com/read-18801.html

    最新回复(0)