我有以下长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 groupbythings = [('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'))但是,这并没有正确地将第三个项“name”分组。。。 最佳答案 在粘贴的代码的第八行中键入一个键值,在这里索引“cc>而不是”。而不是print (key, thing[1], things[2])你想要的print (key, thing[1], thing[2])然后你会得到你期望的输出。注意:@wildwilhelm在评论中首先指出了这一点。关于python - 按第一项将python元组分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19233015/
10-12 20:28