我有一個元組列表,我需要1)基於第1個屬性進行排序,然後2)根據匹配的第2個屬性的組合創建一個新的元組列表第一屬性。Python中元組的排列/組合
例如,這就是我想要做的事:
list = [(a,b),(c,d),(a,z),(a,t,),(c,z)}
# output should be:
new_list=[(b,z),(b,t),(z,b),(d,z) #a list of permutations would also be fine
所以基本上它看起來similair X的在X,Y,並創建匹配的y的組合的一個新的列表。
我發現了關於itertools,defaultdict,分組等的一些有用的帖子,但沒有什麼我可以在這裏正確實現。到目前爲止,我幾乎已經用了大量的for,while和while循環來解決它,但是我確信有更好更Python的方法。我真的很感謝任何人指出我正確的方向!
我實現了這個和它的工作很大。謝謝,特別有用的是排列選項。這是一個網絡圖,所以重複會使線條變粗。 – cmacdona101
你可以寫'list(combinations(v,2))'而不是'[x for x in ...]' – Lynn