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

衡水稳定的网络建站wordpress导航加tu

衡水稳定的网络建站,wordpress导航加tu,深圳企业建网站公司,百度做的网站能优化吗问题起因:想在代码中通过已有的列表创建一个字典,但是又不想写循环,更不想手动填,所以用到了字典对象的fromkeys()方法 。 先以一个简单的例子介绍一下该方法: a ["A", "B", "C", &qu…

问题起因:想在代码中通过已有的列表创建一个字典,但是又不想写循环,更不想手动填,所以用到了字典对象的fromkeys()方法 。
先以一个简单的例子介绍一下该方法:

a = ["A", "B", "C", "D"]
# 我们想创建一个以列表A中元素为键的字典b, 那么可以这样写
b = dict.fromkeys(a, 0)      # 显式地指定字典中所有键的值都为0
b = dict.fromkeys(a)         # 使用默认的值,即为None

如果我们的代码中也是这种简单的情况,那就没有接下来的问题了,But,不是。
在我的代码中,假设我想创建的字典b的键来自于列表a, 每个键所对应的默认值我想设置为一个空列表:[],所以代码可以表示为:

a = ["A", "B", "C", "D"]
b = dict.fromkeys(a, [])
print(b)  # 输出结果为:{'A': [], 'B': [], 'C': [], 'D': []}

从输出结果来看,我们的代码似乎没有毛病。但是真正往列表中添加数据的时候出现了问题,请看下面例子:

b["A"].append("xxx")         # 向b["A"]这个列表中添加一个字符串 "xxx"
print(b)  # 输出结果为:{'A': ['xxx'], 'B': ['xxx'], 'C': ['xxx'], 'D': ['xxx']}

所有的键值对中的值都改变了,都变成了["xxx"], 就好像它们是同一个列表一样。为了进一步探究,我们可以使用id()函数获取这些列表的地址,如果地址一样,则说明它们是同一个列表,所以操作一个就代表操作所有。

print(id(b["A"]))   # 输出结果:2969028980160
print(id(b["B"]))   # 输出结果:2969028980160
print(id(b["C"]))   # 输出结果:2969028980160
print(id(b["D"]))   # 输出结果:2969028980160

它们的输出结果完全一致,可见对于列表这个可变类型,fromkeys()函数只是复制了列表的引用,作为默认值。如果想把值初始化为列表,并且后续会进行数据存取操作,那还是建议动动手,写个循环。
就像这样, 这次列表的地址就都不一样了:

for key in a:a[key] = []
http://www.yayakq.cn/news/827307/

相关文章:

  • 做亚马逊网站的公司建议域名例子
  • 做电销哪些网站可以找到客户端镇江营销型建站公叿
  • 做美剧盗版网站搬瓦工ss wordpress
  • 快速搭建网站优帮云asp.net做网站怎么样
  • 国外平面设计素材网站网络平台推广方法
  • 苏州建设营销网站wordpress标签的调用
  • 贵阳品牌网站建设公司网站分析怎么写
  • vue 做的pc端网站变装第三性wordpress
  • 网站开发济南织梦网站访问量统计代码
  • 昆明驿站网站建设图片网站怎么做优化
  • seo网站排名软件网页制作教程免费视频
  • wordpress删除数据库数据表优化公司内部流程
  • 有什么网站可以做试题软件开发工程师的岗位职责
  • 软件开发包含网站开发吗wordpress后台登录不上去
  • 网站建设有哪些平台网站建设软著
  • 珠海企业模板建站wordpress登录系统
  • 邯郸网站优化广州短视频制作公司
  • 怎么做自己的淘宝客网站宝丰县建设局网站
  • 网站建设湖北软件工程师招聘简章pdf免费
  • wordpress 站外搜索长治市城乡建设局网站
  • 专业制作网站公司吗麻涌镇做网站
  • 网站建设计划表怎么打开公众号
  • 股权分配系统建设网站辽宁建设工程信息网执业人员
  • 站酷网怎么赚钱地信的网站建设
  • 网站上飘窗怎么做wordpress 小说站主题
  • 四川手机网站建设费用江西网站建设哪家好
  • 游戏网站排行榜前十名福州网站设计软件公司
  • 网站建设的公司系统规划大庆市住房和城乡建设局网站
  • 现在做一个什么的网站比较好通州个人做网站
  • 静态网页制作网站旅游网站建设背景分析报告