问题标签 [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.
python - OrderedDict.items() 是否也保留了订单?
假设我正在使用以下 OrderedDict:
order_dict = OrderedDict([("a",1), ("b",2), ("c",3)])
在某些时候,我想获取 (key,value) 项并定义一个迭代器,并在需要时开始移动它:
我想知道是否order_dict.items()
还会保留相同的订单?
正如我所观察到的,它似乎确实保留了订单,但我无法证明这一点。
python - 大多数pythonic检查列表的方法归结为一个值
我想要一个函数check
来检查给定的list
减少(“归结”)到给定函数下的一个值reduce_function
。(一个常见的例子可能是检查列表列表是否仅包含相等长度的子列表。)
我至少看到了以下三种方法来实现这一点。对于他们每个人,我都看到了一些优点和缺点。在我看来,它们中的任何一个都没有真正的可读性。你能给我一个详细的概述:
哪一个会被认为是最具可读性和最“pythonic”的?
1. 测量一组缩减值的长度。
这似乎最易读,但需要reduce_function
返回一个哈希:
2.统计组数
3. 用于all
与第一个元素进行比较
这需要一个额外的 -or
语句(可以用if
-else
语句代替)来涵盖lst
为空的情况。
python - 为什么 Python 中的 set 函数会为相同的输入产生不同的输出?
这是我的代码
每次我运行它都会产生不同的输出。我怎样才能解决这个问题?
输出:
python - 给定一个集合,对集合的每个元素执行成对操作?
假设我有一套:
现在我想对该集合中每个可能的无序对执行操作,比如加法。对于我会做的清单:
但对于一套我能想到的最好的方法是:
这对我来说似乎并不令人满意:一个是因为代码具有更高的复杂性,也因为它不太清晰。什么是pythonic(和快速)的方式来做到这一点?
python - 遍历 Pandas Dataframe 列并将其元素添加到 Python Collections Counter 对象
我有一个包含 N 列整数对象值的熊猫数据框。列中的值与特定随机实验的结果相关联。例如,如果我要调用 df.head():
我感兴趣的是确定特定列中每个唯一值出现的次数。仅考虑第 0 列,我可能希望知道我在这个实验中观察到值“17”的次数,在我们上面的框中,我们可以看到这在第 0 列的前 5 个条目中发生了两次。
通过 Pandas 本身或其他方式执行此操作的最佳方法是什么?
我考虑的第一种方法是将该列折叠到一个字典中,其中键是观察到的数据值,字典值与该特定键的计数相关联。我使用了 Python Collections 中的 Counter 数据结构。
这会导致类型错误。
如果我用 print(dataEntry) 块替换 user0Counter.update() 方法,则迭代 df[0] 没有问题。
等等。
python - 如何访问 dict_values 中的元素?
我有一个字典:
我想得到'created_at'。
我尝试过不同的方法,但没有成功……我认为这种方法可行:
result = di.values()[0]
但我得到一个TypeError: 'dict_values' object does not support indexing
但事实并非如此。
python - 最后添加的元素值反映在python的整个列表中 - 如何解决这个问题?
以下是我的数据:
我想把它放到一个列表中,使它看起来像这样:
我的问题是只有最后一个元素被推送到整个列表中。结果如下所示:
我将如何解决这个问题?
python - 在python中将集合转换为列表的算法复杂度
在 python 中,当我将我的集合转换为列表时,这样的任务的算法复杂度是多少?它只是对集合进行类型转换,还是需要将项目复制到不同的数据结构中?发生了什么?
我很想知道复杂性是恒定的,就像 Python 中的很多东西一样。
python - 使用可迭代 Python 对象实现类似 str.strip() 的行为的方法
在 Python 中使用,和类似的可迭代对象实现类似str.strip()
行为的方法是什么?list
tuple
例子:
str.strip()
-喜欢
str.lstrip()
-喜欢
str.rstrip()
-喜欢
实现功能的原型如下
python - 具有非整数值的 Python `collections.Counter`
collections.Counter
对于收集计数并将计数作为对象进行操作非常有用。您可以执行以下操作:
这实质上是按项目的键对项目进行分组,并对每个组的值求和。
Counter
什么是重用具有非整数值的功能的最少代码方式?
这些值将添加定义为我想要的组值“减少”操作:例如字符串和列表(它们都已__add__
定义为连接)。
照原样,我们得到:
在 的代码中collections.Counter
,有一个硬编码的假设,即值是整数,因此到处都是类似self.get(k, 0)
和count > 0
乱七八糟的东西。因此,子类化似乎Counter
不会比重写我自己的专业(或通用)自定义类(可能使用)少得多collections.defaultdict
。
相反,似乎包装值(例如str
和list
)以便能够使用 0 进行操作,就好像它是一个空元素一样,这可能是一种优雅的方法。