Python常见字典内建函数用法示例

时间:2021-10-22 22:04:26

本文实例讲述了Python常见字典内建函数用法。分享给大家供大家参考,具体如下:

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'}

希望本文所述对大家Python程序设计有所帮助。

原文链接:https://blog.csdn.net/xc_tsao/article/details/25494791