问题标签 [python-collections]

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 投票
1 回答
945 浏览

python - 如何将双端队列一分为二

我正在写一些我经常弹出和附加的东西,并认为它适合使用deque. 但是,在我的代码中的某处,我需要将其一分为deque二。

考虑deque d

我想以deque这种方式拆分

但我得到一个错误


我可以

但这似乎很荒谬,将其重新变成列表只是为了对其进行切片。我错了吗?还是有其他方法?

0 投票
4 回答
2690 浏览

python - 在有序计数器中打印第一个键值

我正在尝试以与 OrderedCounter 输出中显示的顺序相同的顺序打印出键值对。

我得到以下输出:

有没有办法只能打印出第一个键值对?

我基本上是在尝试打印给定字符串中的第一个重复字符。

0 投票
1 回答
93 浏览

python - 如何创建一个类似列表的类,该类允许在可与 py2 和 py3 一起使用的切片上调用包含的对象方法

下面的代码来自 SCons 的代码库。我们正在移植代码,以便它可以与 Python 2.7.x 和 3.x 一起使用。

下面的代码在 python 2.7.x 下运行良好,但是在 python 3.5 下运行失败如下:

python3.5 ~/tmp/blah123.py Traceback(最近一次调用最后):
文件“/home/bdbaddog/tmp/blah123.py”,第 73 行,在 print("stuff:%s"%nl[0:2 ].bar) AttributeError: 'list' 对象没有属性 'bar'

这段代码在某种程度上是 SCons 功能的核心。任何帮助都将受到欢迎。(请参阅此处的原始代码:src/engine/SCons/Util.py

0 投票
1 回答
52 浏览

html - 从 HTML 字符串中删除所有间距

我正在尝试实现删除所有空白和空格字符的代码,然后计算页面中出现的前 3 个字母数字字符。我的问题是双重的。

1)我用于拆分的方法似乎不起作用,我不确定为什么它不起作用。据我所知,加入然后拆分应该从 html 源代码中删除所有空格和空格,但事实并非如此(请参阅下面亚马逊示例的第一个返回值)。

2) 我对 most_common 操作不是很熟悉,当我在“ http://amazon.com ”上测试我的代码时,我得到以下输出:

返回的 most_common(3) 值中的 u 是什么意思?

我当前的代码:

0 投票
5 回答
24936 浏览

python - 如何使用键初始化 defaultdict?

我有一个列表字典,它应该用默认键初始化。我想,下面的代码不好(我的意思是,它可以工作,但我不觉得它是用pythonic方式编写的):

所以我想使用更多的pythonic,比如defaultict

但是,我看到的每个教程都会动态设置新键。但在我的情况下,所有的键都应该从一开始就定义。我正在解析其他数据结构,并且只有当结构中的特定键也包含在我的字典中时,我才会将值添加到我的字典中。

如何设置默认键?

0 投票
8 回答
2748 浏览

python - 按字母顺序排列具有相同计数的元素

Python CollectionCounter.most_common(n)方法返回前 n 个元素及其计数。但是,如果两个元素的计数相同,如何返回按字母顺序排序的结果?

例如:对于像:这样的字符串BBBAAACCD,对于“2-most common”元素,我希望结果是指定的n = 2

并不是:

请注意,虽然AB具有相同的频率,但AB结果列表中排在前面,因为它B按字母顺序排在前面。

我怎样才能做到这一点?

0 投票
3 回答
7793 浏览

python - 最常见的 2-gram 使用 python

给定一个字符串:

如何找到前 n 个最常见的 2 克?在上面的字符串中,所有 2-gram 都是:

如您所见,2-gramthis is出现了 2 次。因此结果应该是:

我知道我可以使用Counter.most_common()方法来查找最常见的元素,但是如何从字符串开始创建一个 2-gram 列表?

0 投票
4 回答
9759 浏览

python - 按频率对计数器排序,然后在 Python 中按字母顺序排序

我正在尝试使用计数器按出现次数对字母进行排序,并将任何具有相同频率的字母按字母顺序排列,但我无法访问它产生的字典的值。

产生:

我怎样才能让它按频率排序,然后按字母顺序排列,所以只出现一次的所有东西都是按字母顺序排列的?

0 投票
1 回答
40 浏览

python - 在 Python 中限制计数器集合

我目前正在从 Web API 中提取数据,并且正在尝试根据以下条件过滤一些值:计算用户在两个给定日期之间出现的次数,但前提是他/她购买了树莓派、香蕉派等物品和树莓派2,而不是树莓派3

我收到的 JSON 对象具有以下结构:

目前我有以下代码计算用户在给定两个日期时出现的次数。

我的方法是添加一些额外的“条件”来计算除树莓派 pi3 之外的所有项目,例如:

但是如果我这样做,那么我会遇到错误bool object is not iterable并且我假设我收到了这个错误,因为集合 Counter 不允许我这样做。

我的问题是:

  1. 我怎样才能在列表中实现这个额外的条件,以便我可以计算除 raspberry pi3 之外由一个用户购买的所有项目?

  2. 目前,我正在计算为特定用户购买的商品,但我如何计算所有用户购买的所有商品?

欢迎所有评论,答案和建议。

更新

对于问题 1,解决方案是在括号中解决问题。

0 投票
2 回答
394 浏览

python - 从 collections.Counter 继承:'fromkeys' 是抽象的

我有一个继承自的python类collections.Counter

当我在这段代码上使用 pylint 时,它的答案是:

W:方法“fromkeys”在“Counter”类中是抽象的,但未被覆盖(抽象方法)

我检查了collections.Counter在我的机器上的实现,并且有效地,这个方法没有实现(并且评论有助于理解为什么):

但是,我真的不知道如何实现这个方法,如果Counter它本身没有......</p>

在这种情况下解决此警告的方法是什么?