问题标签 [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 投票
3 回答
74 浏览

python - OrderedDict.items() 是否也保留了订单?

假设我正在使用以下 OrderedDict:

order_dict = OrderedDict([("a",1), ("b",2), ("c",3)])

在某些时候,我想获取 (key,value) 项并定义一个迭代器,并在需要时开始移动它:

我想知道是否order_dict.items()还会保留相同的订单?

正如我所观察到的,它似乎确实保留了订单,但我无法证明这一点。

0 投票
3 回答
106 浏览

python - 大多数pythonic检查列表的方法归结为一个值

我想要一个函数check来检查给定的list减少(“归结”)到给定函数下的一个值reduce_function。(一个常见的例子可能是检查列表列表是否仅包含相等长度的子列表。)

我至少看到了以下三种方法来实现这一点。对于他们每个人,我都看到了一些优点和缺点。在我看来,它们中的任何一个都没有真正的可读性。你能给我一个详细的概述:

哪一个会被认为是最具可读性和最“pythonic”的?

1. 测量一组缩减值的长度。

这似乎最易读,但需要reduce_function返回一个哈希:

2.统计组数

3. 用于all与第一个元素进行比较

这需要一个额外的 -or语句(可以用if-else语句代替)来涵盖lst为空的情况。

0 投票
1 回答
176 浏览

python - 为什么 Python 中的 set 函数会为相同的输入产生不同的输出?

这是我的代码

每次我运行它都会产生不同的输出。我怎样才能解决这个问题?
输出:

0 投票
0 回答
31 浏览

python - 给定一个集合,对集合的每个元素执行成对操作?

假设我有一套:

现在我想对该集合中每个可能的无序对执行操作,比如加法。对于我会做的清单:

但对于一套我能想到的最好的方法是:

这对我来说似乎并不令人满意:一个是因为代码具有更高的复杂性,也因为它不太清晰。什么是pythonic(和快速)的方式来做到这一点?

0 投票
1 回答
101 浏览

python - 遍历 Pandas Dataframe 列并将其元素添加到 Python Collections Counter 对象

我有一个包含 N 列整数对象值的熊猫数据框。列中的值与特定随机实验的结果相关联。例如,如果我要调用 df.head():

我感兴趣的是确定特定列中每个唯一值出现的次数。仅考虑第 0 列,我可能希望知道我在这个实验中观察到值“17”的次数,在我们上面的框中,我们可以看到这在第 0 列的前 5 个条目中发生了两次。

通过 Pandas 本身或其他方式执行此操作的最佳方法是什么?

我考虑的第一种方法是将该列折叠到一个字典中,其中键是观察到的数据值,字典值与该特定键的计数相关联。我使用了 Python Collections 中的 Counter 数据结构。

这会导致类型错误。

如果我用 print(dataEntry) 块替换 user0Counter.update() 方法,则迭代 df[0] 没有问题。

等等。

0 投票
1 回答
682 浏览

python - 如何访问 dict_values 中的元素?

我有一个字典:

我想得到'created_at'。

我尝试过不同的方法,但没有成功……我认为这种方法可行:

result = di.values()[0]但我得到一个TypeError: 'dict_values' object does not support indexing

但事实并非如此。

0 投票
2 回答
77 浏览

python - 最后添加的元素值反映在python的整个列表中 - 如何解决这个问题?

以下是我的数据:

我想把它放到一个列表中,使它看起来像这样:

我的问题是只有最后一个元素被推送到整个列表中。结果如下所示:

我将如何解决这个问题?

0 投票
3 回答
597 浏览

python - 在python中将集合转换为列表的算法复杂度

在 python 中,当我将我的集合转换为列表时,这样的任务的算法复杂度是多少?它只是对集合进行类型转换,还是需要将项目复制到不同的数据结构中?发生了什么?

我很想知道复杂性是恒定的,就像 Python 中的很多东西一样。

0 投票
1 回答
114 浏览

python - 使用可迭代 Python 对象实现类似 str.strip() 的行为的方法

在 Python 中使用,和类似的可迭代对象实现类似str.strip()行为的方法是什么?listtuple

例子:

str.strip()-喜欢

str.lstrip()-喜欢

str.rstrip()-喜欢

实现功能的原型如下

0 投票
2 回答
313 浏览

python - 具有非整数值的 Python `collections.Counter`

collections.Counter对于收集计数并将计数作为对象进行操作非常有用。您可以执行以下操作:

这实质上是按项目的键对项目进行分组,并对每个组的值求和。

Counter什么是重用具有非整数值的功能的最少代码方式?

这些值将添加定义为我想要的组值“减少”操作:例如字符串和列表(它们都已__add__定义为连接)。

照原样,我们得到:

在 的代码中collections.Counter,有一个硬编码的假设,即值是整数,因此到处都是类似self.get(k, 0)count > 0乱七八糟的东西。因此,子类化似乎Counter不会比重写我自己的专业(或通用)自定义类(可能使用)少得多collections.defaultdict

相反,似乎包装值(例如strlist)以便能够使用 0 进行操作,就好像它是一个空元素一样,这可能是一种优雅的方法。