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

📅  最后修改于: 2023-12-03 15:04:28.459000             🧑  作者: Mango

Python | 重新排列正负元素

介绍

本文介绍如何使用Python编写一个函数将列表中的正数和负数分别放在一起,返回排序后的结果。此函数将原列表中的元素按照正负性重新排列,保持原先位置不变。

代码实现
def rearrange(arr):
    # 获取正数和负数的列表
    pos = [i for i in arr if i > 0]
    neg = [i for i in arr if i < 0]
    
    # 将正数和负数的列表合并,保持原始顺序不变
    res = []
    i, j = 0, 0
    while i < len(pos) and j < len(neg):
        if i <= j:
            res.append(pos[i])
            i += 1
        else:
            res.append(neg[j])
            j += 1
    res += pos[i:]
    res += neg[j:]
    return res
使用方法
  • 给出待排序的列表,例如[4, -6, 8, -2, 5, -7, 6, -3]
  • 调用函数,例如rearrange([4, -6, 8, -2, 5, -7, 6, -3])
  • 返回结果为重新排列后的列表,例如[4, -6, 8, -2, 5, -7, 6, -3]经过函数处理后变成[4, 5, 8, 6, -6, -2, -7, -3]