Python3.x是一种从SQL表结构加载列表的python方式
我将一个SQL表导入到一个python列表中,我想以某种转置方式将该格式转换为另一种格式,其中输入表中的键“列”确定哪些元素在输出列中分组。请参见示例: 输入列表:Python3.x是一种从SQL表结构加载列表的python方式,python,python-3.x,Python,Python 3.x,我将一个SQL表导入到一个python列表中,我想以某种转置方式将该格式转换为另一种格式,其中输入表中的键“列”确定哪些元素在输出列中分组。请参见示例: 输入列表: [ (1, 'eq510240'), (1, 'eq510245'), (1, 'eq510246'), (2, 'eq510252'), (2, 'eq510291'), (3, 'eq510298') ] 所需输出列表: [ ('eq510240', 'eq510245'
[
(1, 'eq510240'),
(1, 'eq510245'),
(1, 'eq510246'),
(2, 'eq510252'),
(2, 'eq510291'),
(3, 'eq510298')
]
所需输出列表:
[
('eq510240', 'eq510245', 'eq510246'),
('eq510252', 'eq510291'),
('eq510298')
]
可以使用按每个元组的第一个值对元素进行分组。然后在列表中,从每组中的值创建一个元组
>>> from itertools import groupby
>>> [tuple(j[1] for j in g[1]) for g in groupby(l, key=lambda i: i[0])]
[('eq510240', 'eq510245', 'eq510246'),
('eq510252', 'eq510291'),
('eq510298',)]
可以使用按每个元组的第一个值对元素进行分组。然后在列表中,从每组中的值创建一个元组
>>> from itertools import groupby
>>> [tuple(j[1] for j in g[1]) for g in groupby(l, key=lambda i: i[0])]
[('eq510240', 'eq510245', 'eq510246'),
('eq510252', 'eq510291'),
('eq510298',)]
你能展示一下你的尝试吗?你能提供一份你的尝试的报告吗?你有错误吗?你能展示一下你的尝试吗?你能提供一份你的尝试的报告吗?你有错误吗?