1
我有以下長的巨蟒truple集團蟒蛇元組
('user1', 'data1', 'name1'), ('user2', 'data1', 'name1'), ('user1', 'data2', 'name2'), ('user2', 'data2', 'name2') etc..
我想組truple如下
('user1', 'data1', 'name1', name2), ('user2', 'data1', 'name1', name2) etc..
有沒有人知道該怎麼做..迄今我有
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'))
儘管如此,這並不組第三項「姓名」正確...
語法錯誤?也許你想'print(key,thing [1],thing [2])''。另外,爲了明確,你可以在代碼的頂部插入'from itertools import groupby'。 – wildwilhelm
如果要按元組的第一個元素進行分組,爲什麼'data2'不出現在以user1開頭的結果元組中?這是否滿足? – Hyperboreus
'print(key,thing [1],things [2])'不能被'print thing'替換? – WolframH