问题标签 [defaultdict]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
7078 浏览

python - 使用点符号字符串“abcde”检查嵌套字典,自动创建缺失的级别

给定以下字典:

我有这个字符串(来自外部来源,我无法改变这个比喻)。

我需要确定字典是否有 key 'c',如果没有,我可以添加它。

这适用于检索点符号值:

但我不知道如何“减少”has_key支票或类似的东西。

我的最终问题是:给定"a.b.c.d.e",我需要在字典中创建所有必要的元素,但如果它们已经存在,则不要踩它们。

0 投票
2 回答
561 浏览

python - 使用 python 打印文本文档中 10 个最不常用的单词

我有一个小的 python 脚本,可以打印文本文档中最常用的 10 个单词(每个单词是 2 个或更多字母),我需要继续脚本来打印文档中最不常用的 10 个单词。我有一个相对有效的脚本,除了它打印的 10 个最不常见的单词是数字(整数和浮点数),而它们应该是单词。如何仅迭代单词并排除数字?这是我的完整脚本:

编辑:文档的结尾(# Least Frequent Words评论下的部分)是需要修复的部分。

0 投票
4 回答
4649 浏览

python - 使用python检索文档中具有2个或更多字母的单词总数

我有一个小的 Python 脚本,用于计算 .txt 文档中前 10 个最常用的词、10 个最不常用的词和总词数。根据作业,一个词被定义为2个字母或更多。我有 10 个最常见的单词和 10 个最不常见的单词打印得很好,但是当我尝试打印文档中的单词总数时,它会打印所有单词的总数,包括单个字母单词(例如“a” )。我怎样才能得到单词总数来只计算有 2 个或更多字母的单词?

这是我的脚本:

我不是 Python 专家,这是针对我目前正在学习的 Python 课程的。在这项作业中,我的代码的整洁性和正确的格式对我不利,如果可能的话,有人还能告诉我这段代码的格式是否被认为是“好的做法”吗?

0 投票
2 回答
1680 浏览

python - 使用python仅计算文本文件中的每个单词一次

我有一个小 Python 脚本,我正在为课堂作业做准备。该脚本读取一个文件并打印 10 个最频繁和最不频繁的单词及其频率。对于这个作业,一个单词被定义为 2 个字母或更多。我的词频工作得很好,但是任务的第三部分是打印文档中唯一词的总数。唯一词含义计算文档中的每个词,只计算一次。

在不过多更改当前脚本的情况下,如何只计算一次文档中的所有单词?

ps 我使用的是 Python 2.6,所以请不要提及 collections.Counter 的使用

0 投票
1 回答
8071 浏览

python - Python 集合模块中的 defaultdict 真的比使用 setdefault 快吗?

我已经看到其他 Python 程序员将集合模块中的 defaultdict 用于以下用例:

我通常通过使用 setdefault 来解决这个问题:

事实上,文档确实声称使用 defaultdict 更快,但我在测试自己时看到了相反的情况:

我设置测试的方式有问题吗?

作为参考,我使用的是 Python 2.7.3 [GCC 4.2.1 (Apple Inc. build 5666)

0 投票
1 回答
195 浏览

python - Python:如何添加频率的行号并使用字典按字母顺序排序

我有一个项目,我必须通过 sys.stdin 获取每个单词的频率数量

我已经获得了那部分。第二部分是获取每个单词的行号,我觉得我已经获得了,但是我无法将行号添加到输出字符串中,如果单词具有相同的频率,我也无法找到按字母顺序排序的方法

这是我的代码:

如果我输入“Python 真的很酷”#line 1 “我真的在使用 python”#line 2

输出应该是:

0 投票
2 回答
172 浏览

python - Python:查找相同列表出现的次数并求平均值

我将使用一个示例来解释我的问题:

从这些列表列表中,我想创建第三个:

所以我得到:

请注意,在 中存在三个列表C,这些 [1, 2, 10], [1, 2, 10], [1, 2, 30]列表如果用 [x,y,z] 来描述,它们具有相同的 x,y 但不同的 z。

所以我想要这个新列表:

我们从列表中只找到一次相同的 x,y

[1, 2, 30], [1, 2, 40], [1, 2, 50]

和相应 z 值的平均值(10+10+30)/3=16.666

我一开始尝试使用for循环,但最终尝试使用defaultdict.

我最终得到了这个保持一次 (x,y) 但添加而不是平均相应的 z 值:

可以用defaultdict做到这一点吗?有任何想法吗?

0 投票
1 回答
7333 浏览

python - collections.defaultdict() 上的 min() 返回最大计数

在 defaultdict 对象上使用min()时,如果在 dict 计数字符串的索引上使用,它会奇怪地返回最大值。

例如:

0 投票
2 回答
1329 浏览

mongodb - MongoDB/PyMongo 不会 $set 属性到文档 - 但设置所有其他属性!(奇怪的错误)

我正在尝试将 defaultdict 变量写入 MongoDB 中的文档。其他一切都很好,只是没有这个属性,它很奇怪!我正在设置一个相当大的默认字典,称为“域”,它以前曾多次工作过。查看此终端输出:

所以这是我的默认字典:

它相当大,大约 3mb:

这是我们将其设置为的文档:

让我们获取该文档的 ID:

太好了,让我们设置属性:

诶?没救??

嗯......有什么可以保存的吗?

好的...所以它可以很好地保存东西...也许是因为 MongoDB 不喜欢 defaultdicts?咱们试试吧:

所以它可以很好地保存defaultdicts,只是不是这个?

这么奇怪!任何想法为什么?

编辑安全=真:

这个 GoogleGroup 讨论说这可能是由于键中有句号,但是:

0 投票
2 回答
3109 浏览

python - 访问特定的 python defaultdict

假设我有一个带有值的 defaultdict:

如何仅访问第一个索引为 c 的元素

或者更确切地说,我该如何实现这样的事情: