python——字典
Posted 有理想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python——字典相关的知识,希望对你有一定的参考价值。
(1)除了常用的创建字典的方法以外,python还提供了字典的内置函数dict(),使用该函数创建字典的方法如下:
>>> dict1 = dict(((\'color\',\'green\'),(\'ponits\',5))) >>> dict1 {\'color\': \'green\', \'ponits\': 5} >>> dict1 =dict(color = \'green\',points = \'5\') >>> dict1 {\'color\': \'green\', \'points\': \'5\'}
第一种方法中,经过help(dict)可知道,dict(mapping)只有一个参数,所以这里用括号的方法先把众多参数修改成一个元组,把元组当成一个参数即可。
第二种方法中,经过help(dict)可知道,如下:
dict(**kwargs) -> new dictionary initialized with the name=value pairs
| in the keyword argument list. For example: dict(one=1, two=2)
key那里不用加引号,即使是字符串,只需要个等号即可。但是值中加不加引号须看值的类型决定。
(2) 当然,还有很多创建字典的方式,如下所示:
(3)fromkeys()函数介绍
由help(dict)可得,其中有个fromkeys描述如下:
fromkeys(iterable, value=None, /) from builtins.type | Returns a new dict with keys from iterable and values equal to value.
fromkeys的常用方法如下:
>>> dict1 = { } #创建空字典 >>> dict1.fromkeys((1,2,3)) {1: None, 2: None, 3: None} #返回的键值是none >>> dict1.fromkeys((1,2,3),\'Number\') {1: \'Number\', 2: \'Number\', 3: \'Number\'} #所有的键返回值number >>> dict1.fromkeys((1,2,3),(\'one\',\'two\',\'three\')) {1: (\'one\', \'two\', \'three\'), 2: (\'one\', \'two\', \'three\'), 3: (\'one\', \'two\', \'three\')#所有的键都返回同样的值 没那么智能的匹配
(4)get()函数介绍
get(...)| D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.
>>> dict1 = dict1.fromkeys(range(20),\'赞\') >>> dict1 {0: \'赞\', 1: \'赞\', 2: \'赞\', 3: \'赞\', 4: \'赞\', 5: \'赞\', 6: \'赞\', 7: \'赞\', 8: \'赞\', 9: \'赞\', 10: \'赞\', 11: \'赞\', 12: \'赞\', 13: \'赞\', 14: \'赞\', 15: \'赞\', 16: \'赞\', 17: \'赞\', 18: \'赞\', 19: \'赞\'} >>> dict1.get(19) \'赞\' >>> dict1.get(20) >>> print(dict1.get(20)) None >>> dict1.get(32,\'none\') \'none\' >>> dict1 {0: \'赞\', 1: \'赞\', 2: \'赞\', 3: \'赞\', 4: \'赞\', 5: \'赞\', 6: \'赞\', 7: \'赞\', 8: \'赞\', 9: \'赞\', 10: \'赞\', 11: \'赞\', 12: \'赞\', 13: \'赞\', 14: \'赞\', 15: \'赞\', 16: \'赞\', 17: \'赞\', 18: \'赞\', 19: \'赞\'} >>> dict1.get(21,\'none\') \'none\' >>> dict1.get(18,\'none\') \'赞\'
(5)copy()函数的用法
copy(...)| D.copy() -> a shallow copy of D
>>> a = {1:\'one\',2:\'two\',3:\'three\'} >>> b = a.copy() >>> c = a >>> a {1: \'one\', 2: \'two\', 3: \'three\'} >>> b {1: \'one\', 2: \'two\', 3: \'three\'} >>> c {1: \'one\', 2: \'two\', 3: \'three\'} >>> id(a) 63995360 >>> id(b) 64014688 >>> id(c) 63995360 #由以上可知,b与a,c的地址不同。b是单独的地址 >>> c[4] = \'four\' >>> c {1: \'one\', 2: \'two\', 3: \'three\', 4: \'four\'} >>> a {1: \'one\', 2: \'two\', 3: \'three\', 4: \'four\'} #修改c后,a也会变,因为他们都是同一个地址 >>> b {1: \'one\', 2: \'two\', 3: \'three\'} #b不发生改变,b的地址不一样
(6) popitem()的用法
1 >>> a 2 {1: \'one\', 2: \'two\', 3: \'three\', 4: \'four\'} 3 >>> a.popitem() 4 (4, \'four\') #随意弹出任意一个键值对 因为字典是没有顺序的 5 >>> a 6 {1: \'one\', 2: \'two\', 3: \'three\'} #a更新了
(7)setdefault()的用法
1 >>> a 2 {1: \'one\', 2: \'two\', 3: \'three\'} 3 >>> a.setdefault(\'小白\') 4 >>> a 5 {1: \'one\', 2: \'two\', 3: \'three\', \'小白\': None} 6 >>> a.setdefault(5,\'five\') 7 \'five\' 8 >>> a 9 {1: \'one\', 2: \'two\', 3: \'three\', \'小白\': None, 5: \'five\'}
(8)update()的用法
1 >>> b = {\'小白\':\'狗\'} 2 >>> a.update(b) 3 >>> a 4 {1: \'one\', 2: \'two\', 3: \'three\', \'小白\': \'狗\', 5: \'five\'}
以上是关于python——字典的主要内容,如果未能解决你的问题,请参考以下文章