首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将多个值串联成一个记录

将多个值串联成一个记录
EN

Stack Overflow用户
提问于 2010-03-16 22:20:08
回答 1查看 144关注 0票数 0

我将两个表连接在一起,我喜欢做的是在一个记录中连接多个值,而不需要重复的值。

  1. 输入表

表名: TAXLOT_ZONE

工厂区

1 A

1 A

1 B

1 C

二维空间

二维空间

2英

3 A

3B

4 C

5 D

  1. 理想的输出表如下所示:

表名: Taxlot_zone_out

工厂区

1 A、B、C

2 D、E

3 A、B

4 C

5 D

EN

回答 1

Stack Overflow用户

发布于 2010-03-16 22:32:29

假设您的表按排序顺序,并且是可迭代的,则可以使用itertools.groupby对具有相同第一个元素的行进行分组。

代码语言:javascript
运行
复制
l = [(1, 'A'), (1, 'A'), (1, 'B'), (1, 'C'),
     (2, 'D'), (2, 'D'), (2, 'E'),
     (3, 'A'), (3, 'B'),
     (4, 'C'),
     (5, 'D')]

from itertools import groupby
from operator import itemgetter
result = [(taxlot, list(set(v for k,v in g)))
          for taxlot, g in groupby(l, itemgetter(0))]

结果:

代码语言:javascript
运行
复制
[(1, ['A', 'C', 'B']),
 (2, ['E', 'D']),
 (3, ['A', 'B']),
 (4, ['C']),
 (5, ['D'])]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2458585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档