当前位置: 首页 > 面试题库 >

如何增加或增加字典条目?

甘学潞
2023-03-14
问题内容

长期缺席并喜欢它之后,我目前正在重新使用Python。但是,我发现自己反复遇到一种模式。我一直认为,必须有一种更好的方式表达我想要的东西,而我可能做错了方式。

我正在编写的代码具有以下形式:

# foo is a dictionary
if foo.has_key(bar):
  foo[bar] += 1
else:
  foo[bar] = 1

我在程序中写很多。我的第一个反应是将其推出辅助函数,但是通常python库已经提供了类似的功能。

我缺少一些简单的语法技巧吗?还是采用这种方式?


问题答案:

使用defaultdict

from collections import defaultdict

foo = defaultdict(int)
foo[bar] += 1

在Python> =
2.7中,您还有一个单独的Counter类用于这些目的。对于Python
2.5和2.6,可以使用其向后移植的版本。



 类似资料:
  • 问题内容: 我想做这样的事情。 我能怎么做 ?我不知道该选择元组来编辑它还是找出元组索引? 有什么帮助吗? 问题答案: 那是组织事情的非常奇怪的方式。如果存储在字典中,这很容易: 这段更新计数字典的代码是Python中常见的“模式”。常见的是,创建了一个特殊的数据结构,以使其变得更加容易: 如果您使用键访问,而该键尚不在中,则该键会自动添加一个默认值。将采取调用您传递,并调用它来获得默认值。在这种

  • 我们继续充实我们应用程序的功能。如今,我们添加搜索。GTK+在GtkSearchEntry和Gtksearchbar中支持这个功能。搜索条是一个可以嵌入顶端来展现搜索输入。 我们在头栏增加一个开关按钮,他可以用来滑出头栏下的搜索条。 <?xml version="1.0" encoding="UTF-8"?> <interface> <!-- interface-requires gtk+ 3

  • 问题内容: 在Python中,必须先检查字典中是否有键,然后再递增它,这很烦人: 是否可以用较短的替代词代替上面的四行? 问题答案: 一种替代方法是:

  • 问题内容: 我对Java有一个基本问题。 当使用默认构造函数声明和初始化时,将创建10个元素的内存空间。现在,当我添加第11个元素时,会发生什么?是否将创建具有20个(或更多)元素容量的新内存空间(这需要将元素从第一个内存位置复制到新位置)或其他东西? 我在这里检查。但是我没有找到答案。 请分享知识。谢谢。 问题答案: 创建一个新数组,并将旧数组的内容复制过来。这就是您在API级别上所知道的。引用

  • 我想改变(增加)Java内存限制(Windows PC上的JRE)。我到处都遵循以下命令: -xms设置初始Java堆大小 -Xmx设置最大Java堆大小 例如-Xmx1024m。 但我的问题是在哪里!我必须输入这个命令吗?抱歉这个初学者的问题。通常我对java没有任何接触。

  • 我有一个只有完全连接/密集层的深度网络,形状为128-256-512-1024-1024所有层使用激活,没有,最后一层使用激活。 在第20次训练后,验证/测试损失开始逆转并上升,但测试精度也在继续提高。这怎么说得通?如果显示了新的数据,测试的准确性是否准确,或者是否存在某种假阳性? 我这样编译模型: