我正在跟踪列表,每个集合都有百分比支持(百分比值表示频率)。每个支持都与一组相关联。
X:
[('C', 'A'), 66.667]
[('T', 'A'), 50.0]
[('C', 'D'), 66.667]
[('C', 'T'), 66.667]
[('C', 'W'), 83.333]
[('A', 'W'), 66.667]
[('W', 'T'), 50.0]
[('W', 'D'), 50.0]
我希望对数组进行排序,忽略支持,使其看起来像这样:
[('A', 'C'), 66.667]
[('A', 'T'), 50.0]
[('A', 'W'), 66.667]
[('C', 'D'), 66.667]
[('C', 'T'), 66.667]
[('C', 'W'), 83.333]
[('D', 'W'), 50.0]
[('T', 'W'), 50.0]
对x [0]中的集合进行排序,然后对整个第一列进行排序
答案 0 :(得分:2)
对元组进行排序,然后对列表进行排序:
lst = sorted([[tuple(sorted(x)), y] for x, y in lst], key=lambda x: x[0])
print(lst)
[[('A', 'C'), 66.667],
[('A', 'T'), 50.0],
[('A', 'W'), 66.667],
[('C', 'D'), 66.667],
[('C', 'T'), 66.667],
[('C', 'W'), 83.333],
[('D', 'W'), 50.0],
[('T', 'W'), 50.0]]