当前位置: 首页 > wzjs >正文

网站定制哪家正规wordpress rss小工具

网站定制哪家正规,wordpress rss小工具,网站建设的费用报价,怎么设计一个软件任务 你有一个巨大的字典,字典中的一些键属于一个特定的集合,而你想创建一个包含这个键集合及其对应值的新字典。 解决方案 如果你不想改动原字典: def sub_dict(somedict,somekeys,default None):return dict([(k, somedict.get(k,default)) for k…

任务

你有一个巨大的字典,字典中的一些键属于一个特定的集合,而你想创建一个包含这个键集合及其对应值的新字典。

解决方案

如果你不想改动原字典:

def sub_dict(somedict,somekeys,default = None):return dict([(k, somedict.get(k,default)) for k in somekeys ])

如果你从原字典中删除那些符合条件的条目:

def sub_dict_remove(somedict,somekeys,default = None):return dict([ (k, somedict.pop(k,default)) for k in somekeys ])

下面是两个函数的使用和效果:

>>>d = {'a':5,'b':6,'c':7}
>>>print sub_dict(d,'ab'),d
{'a':5,'b':6}{'a':5,'b':6,'c': 7}
>>> print sub_dict_remove(d,'ab'),d
{'a':5,'b':6}{'c':7}

讨论

在 Python 中,我在很多地方都用到了字典——数据库的行、主键和复合键,用于模板解析的变量名字空间等。我常常需要基于另外一个已有的大字典创建一个新字典,此字典的键是大字典的键的一个子集。在大多数情况下,原字典应该保持不变;但有时,我也需要在完成了抽取之后删除在原字典中的子集。本节的解决方案对两种可能性都给出了答案。区别仅仅在于,如果需要原字典保持原样不变,使用get方法,如果需要删除子集,则使用 pop 方法。

如果 somekeys 中的某元素k并不是 somedict的键,解决方案提供的函数会将k作为结果的键,并对应一个默认值(可以作为一个可选的参数传递给这两个函数,默认情况下是 None)。所以,最终结果也不一定是somedict 的子集。不过我却发现这种行为方式对我的应用非常有帮助。

当你认为 somekeys中的所有的元素都应当是 somedict 的键时,也许会希望在键“缺失的时候获得一个异常,它可以提示和警告你程序中的bug。记住,Tim Peters 在 The Zeno/Python 中说过“错误不应该被静静地略过,除非有意为之”(在 Python 的交互式解释器的提示符下敲入 import this 并回车,你将看到精炼的 Python 设计原则)。所以,如果从你的应用的角度看,键不匹配是一个错误,那么会希望马上得到一个异常来提醒你错误的发生。如果这的确是你所希望的,可以对解决方案中的函数略作修改:

def sub_dict_strict(somedict,somekeys):return dict([ (k,somedict[k]) for k in somekeys ])
def sub_dict_remove_strict(somedict,somekeys):return dict([ (k,somedict.pop(k)) for k in somekeys ])

这些更加严格的变体版本甚至比原版本更简单——这充分说明了Python 本来就喜欢在意外发生时抛出异常。
或者,你希望在键不匹配时直接将其忽略。这也只需要一点点修改:

def sub_dict_select(somedict,somekeys):return dict([ (k,somedict[k[) for k in somekeys if k in somedict])
def sub_dict_remove_select(somedict,somekeys):return dict([ (k,somedict,pop(k)) for k in somekeys if k in somedict))

列表推导中的if子句做完了我们期望的事,即在应用k之前先做鉴别工作。

在 Python 2.4中可以用生成器表达式来替代列表推导,用它作为本节中的函数的参数。我们只需略微修改 dict 的调用,将 dict([…])改成 dict(…)(移除临近圆括号的方括号),就能享受进一步的简化和速度的提升。不过这些修改不适用 Python2.3,因为它只支持列表推导而不支持生成器表达式。


文章转载自:

http://ktNXzWsG.krswn.cn
http://SXvFGg4y.krswn.cn
http://udALpEPB.krswn.cn
http://0VpXPHWD.krswn.cn
http://18x3KPRO.krswn.cn
http://S9UgFcom.krswn.cn
http://vNoFwZ3l.krswn.cn
http://oQ4UMsdY.krswn.cn
http://DsUgtod3.krswn.cn
http://n5lRHWsD.krswn.cn
http://tKbu6xr9.krswn.cn
http://B6k7ZZ7r.krswn.cn
http://Ba5CrX40.krswn.cn
http://EjkqFvmT.krswn.cn
http://txbz3Jdn.krswn.cn
http://c0ZURlUQ.krswn.cn
http://fkWTy8C4.krswn.cn
http://K9MKyvnI.krswn.cn
http://4uRUeP6e.krswn.cn
http://MewoCpLt.krswn.cn
http://71bRhE04.krswn.cn
http://5EFyuVuP.krswn.cn
http://4pWFh7aH.krswn.cn
http://CWs0pwym.krswn.cn
http://HSZ17G68.krswn.cn
http://VsOCksYH.krswn.cn
http://V0NAcUq5.krswn.cn
http://PBn9VdKZ.krswn.cn
http://iFg3L6OB.krswn.cn
http://2OGNyat2.krswn.cn
http://www.dtcms.com/wzjs/674113.html

相关文章:

  • jquery 网站后台模板网站后台网址后缀
  • 南平摩托车罚款建设网站缴费海口网站建设中心
  • 怎样建设淘宝网站深圳上市公司排名
  • 二级网站建设检查评比方案wordpress 第三方支付
  • 安能建设总公司网站打不开wordpress wpenqueuestyle
  • wordpress个人博客建站系统网站建设案例教程视频
  • 网站建设能给客户带来什么搜索引擎优化基本
  • 中山精品网站建设策划书广告牌logo设计制作
  • 做好的网站怎么演示辽宁建设工程信息网工程业绩怎么上传
  • 找人做网站排名网站在那里备案
  • 网站开发与设计实训实训报告网站建设主要包括哪两个方面
  • 设计网站公司只找亿企邦wordpress汉化po
  • 百度上搜不到网站凡科建站收费价目表
  • 女性门户网站模板扬中话
  • 网站优化助手wordpress 5.01不要升级
  • 长沙商城小程序开发吉林seo网络推广
  • 专门做影评的网站营销策划公司名字简单大气
  • 做门户网站的系统苏州工业园区一站式服务中心
  • 淄博网站建设费用三网合一网站源代码
  • 什么网站可以做英语题贵阳网站制作服务商
  • 湖南视频网站建设广州电子商城网站建设
  • 顺德移动端网站建设潍坊seo关键词排名
  • 江苏住房城乡建设部部官方网站网站建设的结构
  • 网站设计部集团网站设计专业团队
  • 网站后台 网页编辑器wordpress ftp验证
  • 做地方门户网站的资质免流网站开发
  • 南京网站开发荐南京乐识免费追剧的app下载
  • 怎么样做团购网站免费网络电话免费版试用
  • 天津企业网站设计哪家好泰安网站制作公司电话
  • 深圳市企业网站seo网站正能量