以下是一些标题选项,请记住问答格式以及本文的重点是在 Python 中对数据对进行分组: 选项 1(一般): * 如何在Python中基于S对数据对进行分组

DDD
发布: 2024-10-27 09:04:30
原创
829 人浏览过

Here are a few title options, keeping in mind the question-answer format and the article's focus on grouping data pairs in Python:

Option 1 (General):

* How to Group Data Pairs in Python Based on Specific Indices?

Option 2 (Specific to the Solution):

Python Group By

问题:

给定一组数据对,将它们分组基于指定索引处的值并将其转换为所需的格式。

解决方案:

要按类型对数据对进行有效分组,请按照以下步骤操作:

第 1 步:创建字典

使用集合模块中的 defaultdict 创建字典,其中键是类型,值是值列表:

<code class="python">from collections import defaultdict

res = defaultdict(list)
for v, k in input:
    res[k].append(v)</code>
登录后复制

第 2 步:将词典转换为所需格式

将创建的词典转换为所需格式的词典列表:

<code class="python">result = [{'type': k, 'items': v} for k,v in res.items()]</code>
登录后复制

其他注意事项:

  • 要在 3.7 之前的 Python 版本中保留键的原始顺序,请使用集合模块中的 OrderedDict。
  • 对于 Python 3.7 版本及以上,常规字典维护插入顺序。

使用 **itertools.groupby()**:

另一种方法涉及使用itertools.groupby 函数,但需要对输入数据进行排序 terlebih dahulu。

<code class="python">import operator as itemgetter
import itertools

sorted_input = sorted(input, key=itemgetter(1))
groups = itertools.groupby(sorted_input, key=itemgetter(1))
result = [{'type': k, 'items':[x[0] for x in v]} for k, v in groups]</code>
登录后复制

以上是以下是一些标题选项,请记住问答格式以及本文的重点是在 Python 中对数据对进行分组: 选项 1(一般): * 如何在Python中基于S对数据对进行分组的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!