📌  相关文章
📜  Python|重新排列正负元素

📅  最后修改于: 2022-05-13 01:54:35.296000             🧑  作者: Mango

Python|重新排列正负元素

有时,在使用Python列表时,我们可能会遇到需要在列表中执行排序的问题。可能需要执行多种排序方式。一旦这种变化可以对列表的元素进行排序,但请记住,肯定元素出现在否定元素之前。让我们讨论一种可以执行此任务的方式。

方法:使用sorted() + lambda
可以使用上述功能的组合来执行此任务。在此,我们应用的逻辑是计算每个数字的倒数和负数,然后使用sorted()执行排序。反演确保较大的元素出现在中间,较小的元素出现在末端(小山排列),而负元素负责使正元素出现在负元素之前。

# Python3 code to demonstrate working of
# Sort while keeping Positive elements before negatives
# using sorted() + lambda
  
# initialize list
test_list = [4, -8, -6, 3, -5, 8, 10, 5, -19]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Sort while keeping Positive elements before negatives
# using sorted() + lambda
res = sorted(test_list, key = lambda i: 0 if i == 0 else -1 / i)
  
# printing result
print("Result after performing sort operation : " + str(res))
输出 :
The original list is : [4, -8, -6, 3, -5, 8, 10, 5, -19]
Result after performing sort operation : [3, 4, 5, 8, 10, -19, -8, -6, -5]