我有以下长 python 元组:
('user1', 'data1', 'name1'), ('user2', 'data1', 'name1'), ('user1', 'data2', 'name2'), ('user2', 'data2', 'name2') etc..
我想将元组分组如下
('user1', 'data1', 'name1', name2 ), ('user2', 'data1', 'name1', name2) etc..
有谁知道该怎么做..到目前为止我有:
from itertools import groupby
things = [('user1', 'data1', 'name1'), ('user2', 'data1', 'name1'), ('user1', 'data2', 'name2'), ('user2', 'data2', 'name2')]
things = sorted(things, key=lambda tup: tup[0])
for key, group in groupby(things, lambda x: x[0]):
print key
for thing in group:
print (key, thing[1], things[2])
print " "
哪个输出
user1
('user1', 'data1', ('user2', 'data1', 'name1'))
('user1', 'data2', ('user2', 'data1', 'name1'))
user2
('user2', 'data1', ('user2', 'data1', 'name1'))
('user2', 'data2', ('user2', 'data1', 'name1'))
但是,这不会正确分组第三项“名称”...