Python 按包含列表和值的二维数组中的第一个列表对值进行排序
Python Sort values by first list in 2D array containing list and value
我正在跟踪一个列表,每个列表都有一个百分比支持(百分比值表示频率)。每个支撑都绑定到一组。
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] 中的集合进行排序,然后对整个第一列进行排序
对元组进行排序,然后对列表进行排序:
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]]
我正在跟踪一个列表,每个列表都有一个百分比支持(百分比值表示频率)。每个支撑都绑定到一组。
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] 中的集合进行排序,然后对整个第一列进行排序
对元组进行排序,然后对列表进行排序:
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]]