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

十大房产网站排行榜网络推广软件哪个好

十大房产网站排行榜,网络推广软件哪个好,今天新闻头条最新消息,ceac网页设计师问题起因:想在代码中通过已有的列表创建一个字典,但是又不想写循环,更不想手动填,所以用到了字典对象的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.15wanjia.com/news/187758.html

相关文章:

  • 专业长春网站建设国际重大新闻
  • 个人网站图片加载慢做视频网站 服务器配置
  • 网站前端工资做网站多少钱角西宁君博特惠
  • cnnic可信网站必须做吗泰安市建设局
  • 网站模版网创意交易平台官网
  • 网站如何留言家具企业网站模板
  • 古镇做灯饰网站的公司建设中医知识学习网站
  • 东莞网站建设网站排名优化做购物网站需要接口吗
  • 创建网站公司 徐州企业vi设计价格
  • 企业网站建设策划书范文seo优化师是什么
  • wordpress网站字体网页设计与制作实训报告书
  • 合肥做网站公免费做兼职的网站有吗
  • 济南网站seo技术linux做ppt下载网站
  • p2p网站做牛公共资源交易中心怎么样
  • 做网站复杂吗网络设计与制作
  • 建设网站多少钱 郑州2023年7月最新新闻摘抄
  • 电话推销网站建设门户网站建设工作
  • 加强网站技术建设网站开发用什么技术做好
  • asp.net 微网站开发重庆模板网站哪个好
  • 电子商务网站建设与管理的学后感南昌做网站kaiu
  • 乌兰察布做网站的公司网站免费源码大全无用下载
  • 钢笔工具网站南通网站建设
  • 网站的原型怎么做电商网站前端源码
  • 网站备案制度有没有专做于投融资的网站
  • 公司网站怎么做中国华电集团电子商务平台
  • seo查询外链兰州优化网站
  • 贩卖做网站资料网站建设qianhaiyou
  • 毕业设计做网站题目烟台开发区网站
  • 婚恋网站A00网站建设
  • 有没有做书签的网站免费网站软件下载