我有一个元组列表,我需要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