Python按包含列表和值的2D数组中的第一个列表对值进行排序
我正在跟踪一个列表,每个集合都有一个百分比支持率(百分比值表示频率)。每个支架固定在一套支架上 x: 我希望对数组进行排序,忽略支持,使其如下所示:Python按包含列表和值的2D数组中的第一个列表对值进行排序,python,arrays,sorting,2d,Python,Arrays,Sorting,2d,我正在跟踪一个列表,每个集合都有一个百分比支持率(百分比值表示频率)。每个支架固定在一套支架上 x: 我希望对数组进行排序,忽略支持,使其如下所示: [('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]中的集合进行排
[('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)
对元组排序,然后对列表排序:
lst = sorted([[tuple(sorted(x)), y] for x, y in lst], key=lambda x: x[0])
print(lst)
签出内置函数。签出内置函数。您不需要为对
sorted
@ZachGates的外部调用指定键。哦,是的,我需要。我不想假设元组永远不会绑定,在这种情况下,无键排序将使用百分比打破绑定,这不是他们想要的。这很公平。在再次阅读问题后,OP确实说忽略百分比。回答得好。您不需要为对sorted
@ZachGates的外部调用指定键。哦,是的,我需要。我不想假设元组永远不会绑定,在这种情况下,无键排序将使用百分比打破绑定,这不是他们想要的。这很公平。在再次阅读问题后,OP确实说忽略百分比。回答得好。
[[('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]]