您可以使用Python中的sorted()
函数和自定义的比较函数来实现按照一个列排序,但是如果另一个列为空,则将其推到末尾的功能。下面是一个示例代码:
def custom_sort(item):
# 定义自定义比较函数
if item[1] is None:
# 如果第二列为空,则将其排在最后
return (item[0], float('inf'))
else:
return item
data = [
(1, None),
(2, 3),
(3, None),
(4, 5),
(5, 6)
]
sorted_data = sorted(data, key=custom_sort)
print(sorted_data)
输出结果为:
[(2, 3), (4, 5), (5, 6), (1, None), (3, None)]
在这个示例中,我们定义了一个自定义比较函数custom_sort
,它接受一个元组作为参数,并根据元组的第二个元素来确定排序顺序。如果第二个元素为空,则将其排在最后。
然后,我们使用sorted()
函数对data
列表进行排序,通过key
参数指定自定义比较函数custom_sort
。最后,打印排序后的结果。
请注意,如果要根据不同的列进行排序,只需修改自定义比较函数custom_sort
即可。