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

发布网站的空间系统开发和软件开发

发布网站的空间,系统开发和软件开发,wordpress进入有点卡,天津品牌网站建设是什么d defaultdict(list) 和 d {} 在Python中代表了两种不同类型的字典初始化方式,它们之间有几个关键的区别: 1、类型 d defaultdict(list):这里使用的是 collections 模块中的 defaultdict 类。它是一个字典的子类,提供了一个默…

d = defaultdict(list) 和 d = {} 在Python中代表了两种不同类型的字典初始化方式,它们之间有几个关键的区别:

1、类型

  • d = defaultdict(list):这里使用的是 collections 模块中的 defaultdict 类。它是一个字典的子类,提供了一个默认值(空列表),用于在字典中自动处理缺失的键值。
  • d = {}:这是一个普通的Python字典,不会自动处理缺失的键值。

2、当访问不存在的键时:

  • 在使用 defaultdict(list) 时,如果你尝试访问字典中不存在的键,defaultdict 会自动为该键创建一个新条目,并将默认值(这里是空列表 list)分配给这个键。
  • 在普通字典 d = {} 中,如果你尝试访问一个不存在的键,Python会抛出一个 KeyError 异常。在这种情况下,需要在访问不存在的键时手动处理 KeyError,并初始化一个空列表。

3、用途

  • defaultdict(list) 常用于需要将多个值分配给一个键的场景,例如在构建多值映射(如一对多的关系)时非常有用。
  • 普通字典 d = {} 更适用于标准的键值对存储,其中每个键映射到一个单独的值

4、代码

假设我们有一组数据,包含多个姓名和与每个姓名关联的一些数字。我们的目标是创建一个字典,其中每个姓名都映射到一个包含所有相关数字的列表。

  • 使用 defaultdict(list)
from collections import defaultdict# 初始化 defaultdict
names_dict = defaultdict(list)# 添加数据
data = [('Anna', 1), ('Bob', 2), ('Anna', 5), ('Bob', 6), ('Cara', 7)]for name, number in data:names_dict[name].append(number)# 输出结果
print(names_dict)

在这个例子中,当我们添加一个元组 (name, number) 到 names_dict 时,如果 name 还不在字典中,defaultdict 会自动为 name 创建一个新条目,并初始化一个空列表。然后 number 被追加到这个列表中。这避免了我们需要手动检查 name 是否已经存在于字典中。

  • 使用普通字典 {}
# 初始化普通字典
names_dict = {}# 添加数据
data = [('Anna', 1), ('Bob', 2), ('Anna', 5), ('Bob', 6), ('Cara', 7)]for name, number in data:if name not in names_dict:names_dict[name] = []  # 如果键不存在,先创建空列表names_dict[name].append(number)# 输出结果
print(names_dict)

使用普通字典时,我们必须首先检查 name 是否已经存在于字典中。如果不存在,我们需要手动为这个键创建一个空列表,然后才能追加 number。这意味着需要更多的代码来处理缺失的键。

  • 结果对比:
    在这两个例子中,最终的 names_dict 将是相同的:
{'Anna': [1, 5], 'Bob': [2, 6], 'Cara': [7]}

但是,使用 defaultdict 可以使代码更简洁,且不需要手动处理缺失的键。这在处理复杂的数据结构时尤其有用。

http://www.yayakq.cn/news/293925/

相关文章:

  • 深圳有没有什么网站做一门户网站价格
  • 网站找哪些单位做实名认证彭水网站建设推广
  • 网网站制作建立网站商城建议
  • 大型购物网站排名文化网站建设
  • 南京网络推广网站建设公司注册公司怎么自己核名
  • 南京做网站wordpress 视频 去广告插件下载
  • 建站系统平台网站做APP麻烦吗
  • 有域名可以自己做网站吗图书信息管理系统代码网站建设
  • 东莞企业网站推广公司网络营销渠道策略
  • 网站开发如何修改域名自做淘宝客网站
  • 手机端网站开发技术山西响应式网页建设报价
  • 网站建设价格一览表欢迎页网页设计作品欣赏
  • 网站建设策划书范文网站建设产品说明书
  • 秦皇岛网站制作价格网站开发精灵
  • 龙中龙网站开发百度竞价排名是什么方式
  • 深圳电商网站建设使用docker部署wordpress
  • 福鼎手机网站建设长春市供求世界在线看报
  • seo关于网站搜索排名关键词的标准评定摄影看图网站
  • 律所网站方案个人网站毕业设计作品
  • 贵阳网站建设哪家好南头专业企业网站建设公司
  • 莘县做网站推广深圳建网站有哪些公司
  • 帮人做推广的网站大地seo
  • 网上买保险网站购买网站做友情链接
  • 建设网站的计划书高校里做网站的工作
  • 哪种网站语言最好做招聘网站的背景图片
  • 企业网站展示生产的处方药介绍处罚案件郑州一站式网站搭建
  • 从零开始做网站数据库ae射频电源成色
  • 网站搜索要怎么做桥头镇做网站
  • 网站的内链优化怎样做廊坊企业网站排名优化
  • 学校网站建设论文新办公司网上核名在哪个网站做