📌  相关文章
📜  使用内置排序函数重新排列正数和负数(1)

📅  最后修改于: 2023-12-03 14:49:52.937000             🧑  作者: Mango

使用内置排序函数重新排列正数和负数

在编程中,有时需要将正数和负数分别排列,可以使用内置排序函数来实现。本文将介绍如何使用内置排序函数重新排列正数和负数。

1. Python的内置排序函数

Python的内置排序函数是sorted(),它可以快速准确的将一个序列排序。可以将一个列表或元组作为参数传递给sorted()函数,sorted()会返回一个排好序的列表,原来的序列不会受到影响。

示例代码:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_lst = sorted(lst)
print(sorted_lst)

运行结果:

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
2. 将正数和负数分别排序

我们可以先将正数和负数分别存储到两个列表中,然后分别使用sorted()函数排序,最后将两个列表合并成一个。

示例代码:

lst = [5, -1, 3, -8, 6, -4, 9, -2, 7, -5]
positive_lst = sorted([x for x in lst if x > 0])
negative_lst = sorted([x for x in lst if x < 0])
sorted_lst = negative_lst + positive_lst
print(sorted_lst)

运行结果:

[-8, -5, -4, -2, -1, 3, 5, 6, 7, 9]
3. 完整代码

下面是完整的示例代码:

def sort_positive_and_negative(lst):
    positive_lst = sorted([x for x in lst if x > 0])
    negative_lst = sorted([x for x in lst if x < 0])
    sorted_lst = negative_lst + positive_lst
    return sorted_lst

if __name__ == '__main__':
    lst = [5, -1, 3, -8, 6, -4, 9, -2, 7, -5]
    sorted_lst = sort_positive_and_negative(lst)
    print(sorted_lst)

运行结果:

[-8, -5, -4, -2, -1, 3, 5, 6, 7, 9]

至此,我们已经学会了如何使用内置排序函数重新排列正数和负数。