python 设置默认字典

访问字典中某个‘键’时,若键不存在则会报错,比如

>>> dic = {'a' : 1}
>>> dic['b']
Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    dic['b']
KeyError: 'b'

如果不想报错,可以给字典设置默认值。即当键存在时,返回键对应的值;键不存在时,返回默认值:

1 字典自带的 setdefault 函数

>>>dic = {'a' : 1}

#此时访问 dic['b'] 会报错,因为dic不存在键 ‘b’
#设置默认值
>>> dic.setdefault('b', 2)
>>> dic['b']
>>> 2

2 collections 模块的 defaultdict 函数

>>> from collections import defaultdict
>>> dic = defaultdict(int)
>>> dic['a']
>>> 0<br># dic = defaultdict(int) 该式中的int 可以替换为 str flaot等。
<br># 为 int 时的默认值为 0
<br># 为 str 时的默认值为 ''
<br><br>#若想设置默认值为一给定的值 比如 'oppo' 则如下
<br>>>> dic = defaultdict(lambda : 'oppo')
<br>>>> dic['a']<br>>>> 'oppo'

原文地址:https://www.cnblogs.com/djdjdj123/p/12203268.html

时间: 2024-10-13 02:10:36

python 设置默认字典的相关文章

python 设置默认的导包路径

在python中 可以通过 sys 模块添加导包时的搜寻路径, sys.path 返回的是所有默认导包路径的列表(搜索次序从下标为零开始,直到寻找到需要导入的包结束) sys.path.insert(下标,包的路径) ,这样就可以将包的路径添加到指定下标(指定次序) 如在django 项目中的settings.py配置文件中,就可以通过下面这种方式,改变导入app时的默认导包路径 # Build paths inside the project like this: os.path.join(B

python设置默认搜索路径

为Python添加默认模块搜索路径  python培训 2014-03-07 23:29:36 方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.append("c:\\") 方法二:修改环境变量w用户可以修改系统环境变量PYTHONPATH 方法三:增加.pth文件,推荐!在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了. 1 windows    c:\

Python设置默认编码为UTF-8

1.在Python\Lib\site-packages目录下创建一个sitecustomize.py文件 源代码: import sys sys.setdefaultencoding('utf-8') 2.验证. 打开IDLE,在里面输入: import sys sys.getdefaultencoding() 3.得到结果: utf-8

Python词典设置默认值小技巧

使用defaultdict为词典设置默认值 测试代码 from collections import defaultdict cn = defaultdict(list) print cn cn['abc'].append('123') print cn cn['abc'].append('456') print cn bn = defaultdict(int) bn['abc']=1 print bn bn['abc']+=1 print bn 运行结果 defaultdict(<type '

Python 设置系统默认编码

有2种方法设置python的默认编码: 一个解决的方案在程序中加入以下代码: import sys   reload(sys)   sys.setdefaultencoding('utf8') 另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为: # encoding=utf8   import sys      reload(sys)   sys.setdefaultencoding('utf8')

Python 设置系统默认编码 转

解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题(转) 本文转载自:http://blog.csdn.net/intel80586/article/details/8566057 Python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,Python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x

如何在命令行下设置默认的Python版本?(已解决)

2018年7月3日 北京实时天气:热,比前几天好点,扇着风扇很舒服. 研究Python多版本共存问题:Windows7 64位系统,同时安装了Python2.7及Python3.5,如何在命令行下设置默认的版本? This is a big problem. 今天找到了办法: 可以通过设置环境变量的办法解决,哪一个设置在前面,哪一个版本就是命令行下的默认版本. 很神奇,是不是?[中国赞] 原文地址:http://blog.51cto.com/shbiao05/2135798

Python:设置python的默认编码

有2种方法设置python的默认编码:方案一:在程序中加入以下代码: import sys reload(sys) sys.setdefaultencoding('utf8') 方案二:在python的Lib\site-packages文件夹(print sys.path可查看到具体路径)下新建一个sitecustomize.py,内容为: Python代码 # encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')

python设置utf-8为默认编码

当使用Python编程时,编码问题一直很让人头疼,程序中经常会碰到如下错误提示: UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128) 这是由于python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报上面的错误. 对于上面问题,一般有2种处理方法: 方法1: 在python代码开头加上如下代码块: [pyth