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

div做网站排版深圳搜索引擎优化推广

div做网站排版,深圳搜索引擎优化推广,wordpress管理密码忘记,网站推广的渠道有哪些任务 需要一个字典,能够将每个键映射到多个值上。 解决方案 正常情况下,字典是一对一映射的,但要实现一对多映射也不难,换句话说,即一个键对应多个值。你有两个可选方案,但具体要看你怎么看待键的多个对…

任务

需要一个字典,能够将每个键映射到多个值上。

解决方案

正常情况下,字典是一对一映射的,但要实现一对多映射也不难,换句话说,即一个键对应多个值。你有两个可选方案,但具体要看你怎么看待键的多个对应值的重复。下面这种方法,使用 list作为 dict的值,允许重复:

d1 = { }
d1.setdefault(key,[ ]).append(value)

另一种方案,使用子字典作为dict的值,自然而然地消灭了值重复的可能:

d2 = { }
d2.setdefault(key,{ })[value] = 1

在 Python 2.4中,这种无重复值的方法可等价地被修改为:

d3 = { }
d3.setdefault(key,set()).add(value)

讨论

正常的字典简单地将一个键映射到一个值上。本节则展示了三个简单有效的方法来实现一个键对应多个值的功能,即将字典的值设为列表或字典,若在Python 2.4 中,还有可能是集合。基于列表的方法的语义和其他两者差别不大,最重大的差别是它们对待值重复的态度。每种方式都依赖字典的setdefault方法(4.10节有相关内容)来初始化字典的一个键所对应的条目,并在需要的时候返回上述条目。

除了给键增加对应值之外,还要做更多的事情。对于使用列表并允许重复的第一个方式,下面代码可取得键对应的值列表:

list_of_values = d1[key]

如果不介意当键的所有值都被移除后,仍留下一个空列表作为d1的值,可以用下面方
法删除键的对应值:

d1[key].remove(value)

虽然有空列表,但要想检查一个键是否至少有一个值还是很容易的,使用一个总是返回列表(也可能是空列表)的函数就行了:

def get_values_if_any(d,key):return d.get(key,[ ])

比如,为了检查“freep”是否是字典 d1 的键“somekey”的对应值之一,可以这样编写代码:

if 'freep' in get_values_if_any(d1,'somekey')

使用子字典且没有值重复的第二种方式的用法非常类似。为了获得键的对应值列表具体做法是:

list_of_values = list(d2[key])

为了移除某键的一个值,可以像下面这样做,当然,当键的值都被删除之后,字典d2中仍会留下一个空字典:

del d2[key][value]

第三种方式,只适用于 Python 2.4 以上并使用了集合的方式,它的移除键值的操作如下:

d3[key].remove(value)

第二和第三种方式(无重复)的get_value_if_any 函数:

def get_values_if_any(d,key):return list(d.get(key,()))

本节讨论了如何实现一个很基本的功能,但并没有提到如何以一种系统化的方式来应用它,你也许会考虑将这些代码封装成一个类。要达到这个目的,必须得通盘考虑你的设计。你能否接受某个值和某个键的对应关系出现多次?(用数学的语言可表述为,对于每个键而言,条目究竟是包还是集合?)如果是的话,则remove方法究竟是将总的对应次数减一,还是完全地删掉那些对应关系?这只是你面临各种各样决定的一个开始,不过,要想做出正确选择,必须基于应用的实际需求来考虑。


文章转载自:

http://G4qLmB8N.cfqbL.cn
http://nqVxzaA3.cfqbL.cn
http://2x2P26Tu.cfqbL.cn
http://XEI8EEXq.cfqbL.cn
http://yUFI2txq.cfqbL.cn
http://QvlGIcyy.cfqbL.cn
http://uoDIG8Uo.cfqbL.cn
http://VP8RX5UW.cfqbL.cn
http://2tSpFSvR.cfqbL.cn
http://zkujFaJy.cfqbL.cn
http://jRmEBrpD.cfqbL.cn
http://Pkzw6SNc.cfqbL.cn
http://pPGis6FI.cfqbL.cn
http://LbjqzenR.cfqbL.cn
http://pFv0i7dT.cfqbL.cn
http://vrMOXU6K.cfqbL.cn
http://Thsd82GO.cfqbL.cn
http://QovnEIKV.cfqbL.cn
http://3O5pGZ12.cfqbL.cn
http://uPSxwJiL.cfqbL.cn
http://YNOZcYI0.cfqbL.cn
http://DB8MmDKt.cfqbL.cn
http://NMs6jIuW.cfqbL.cn
http://L8UlYjbV.cfqbL.cn
http://nz2oUPw4.cfqbL.cn
http://Z9gGJnyn.cfqbL.cn
http://qrRRkp86.cfqbL.cn
http://1gTF3oJ9.cfqbL.cn
http://VZeW9Vmu.cfqbL.cn
http://FGM2sLwB.cfqbL.cn
http://www.dtcms.com/wzjs/771588.html

相关文章:

  • 外网网站有什么好的推荐厦门网站推广步骤机构
  • 建域名做网站dede 两个网站图片路径
  • 网站开发对企业的关键怎样做相亲网站
  • 怎么网上注册公司四川网站推广优化
  • 网站服务器升级一般多久外链工具下载
  • 莒县网站制作泰顺做网站
  • 网站开发应看什么书籍wordpress faq
  • 网站域名空间数字化展厅设计方案
  • 长沙长沙建设网站保障房建设网站首页
  • 一定得做网站认证住房与城乡建设部网站特色小镇
  • 简易企业网站苏南建设集团网站
  • 我的网站为什么打不开权威的网站建设
  • 龙岗网站建设要多少钱php网站开发视频教学
  • 四川建设人才网站网站建设 赣icp 南昌
  • 苏州建网站提供山东省住房和城乡建设厅副厅长
  • h5网站如何建设管理软件属于什么软件
  • 电商网站开发面临的技术问题上海建站模板搭建
  • 做教育机器网站wordpress挂件
  • 网站内如何做内部链接网站建设优化服务行情
  • 云南省建设工程造价管理协会网站建筑工程公司有什么职位
  • 商城外贸网站设计玉树电子商务网站建设哪家快
  • 游戏网站上做银商为网站人员网站开发人员的 生活
  • 做网站怎么租个空间发稿时间是什么意思
  • 网站被**泛解析后的解决方法上海大象影视传媒制作公司
  • 网站推广方案中评价效果是指阿里建设网站
  • 网站前端模板下载做电影网站会有什么惩罚
  • 给网站网站做设计什么是服务器
  • 句容建设质检站网站网站死链接提交
  • 腾讯网站建设公司西安开发网站的公司
  • 做购物网站收费标准智能科技公司取名字大全