我有一个元组列表,我需要 1)根据第一个属性进行排序,然后 2)根据与第一个属性匹配的第二个属性的组合创建一个新的元组列表。
例如,这就是我想要做的:
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
所以基本上它在 x,y 中寻找相似的 x,并创建一个匹配 y 组合的新列表。
我发现了一些关于 itertools、defaultdict、grouping 等有用的帖子,但没有什么我可以在这里正确实现的。到目前为止,我几乎已经使用大量的 for、if 和 while 循环解决了这个问题,但我确信有一种更好、更 Pythonic 的方法。我真的很感激有人指出我正确的方向!