当前位置: 首页 > article >正文

python-list-comprehension-three-way-partitioning-array-around-given-range

Python 列表理解|给定范围内数组的三向分区

原文:https://www . geesforgeks . org/python-list-understance-三路-分区-数组-围绕给定范围/

给定一个数组和一个范围**【low val,high val】,围绕该范围对数组进行划分,使数组分为三部分。
1)所有比
小的元素都是第一位的。
2)范围内的所有元素低值到高值接下来。
3)所有大于高值的元素出现在最后。
三套单个元素可以任意顺序出现。**

示例:

Input: arr = [1, 14, 5, 20, 4, 2, 54, 20, 87, 98, 3, 1, 32]  
        lowVal = 14, highVal = 20
Output: arr = [1, 5, 4, 2, 3, 1, 14, 20, 20, 54, 87, 98, 32]

Input: arr = [1, 14, 5, 20, 4, 2, 54, 20, 87, 98, 3, 1, 32]  
       lowVal = 20, highVal = 20       
Output: arr = [1, 14, 5, 4, 2, 3, 1, 20, 20, 54, 87, 98, 32] 

这个问题我们已经有了解决方案,请参考给定范围内数组的三向分区链接。我们可以使用列表理解在 python 中快速解决这个问题。方法很简单,

  1. 将列表分为三部分,第一部分包含小于 lowVal 的元素,第二部分包含介于 lowValhighVal 之间的元素,第三部分包含大于 highVal 的元素。
  2. 将所有三个部分连接在一起。
# Function for Three way partitioning of an
# array around a given range

def threeWay(input, lowVal, highVal):

# separate input list in three parts
     first = [ num for num in input if num<lowVal ]
     second = [ num for num in input if (num>=lowVal and num<=highVal) ]
     third = [ num for num in input if num>highVal ]

# concatenate all three parts
     print(first + second + third)

# Driver program
if __name__ == "__main__":
    input = [1, 14, 5, 20, 4, 2, 54, 20, 87, 98, 3, 1, 32]
    lowVal = 14
    highVal = 20
    threeWay(input, lowVal, highVal)

输出:

[1, 5, 4, 2, 3, 1, 14, 20, 20, 54, 87, 98, 32]


http://www.kler.cn/news/324598.html

相关文章:

  • iText 5 通过创建 Document 对象,并使用 PdfWriter 将内容写入 PDF 文件
  • ubuntu重新安装clickhouse
  • 前端面试题(九)
  • 【Mybatis】常见面试题汇总 共56题
  • 复试经验分享《一、问答题自测》(408、相关前沿技术)
  • 在Kali Linux VNC服务器上安装RDP服务
  • Android使用RecyclerView仿美团分类界面
  • 【JavaEE】——阻塞队列,生产消费者模型(较难)
  • BACnet协议-(基于ISO 8802-3 UDP)(2)
  • 【系统方案】智慧城市大数据平台建设方案(Word)
  • 【小程序websocket最佳实践,有心跳和断线重连】
  • JD面试题
  • huggingface实现中文文本分类
  • Gitee基本指令操作
  • 若依生成主子表
  • 前端框架:选择的艺术
  • IP地址不足
  • Python电能质量扰动信号分类(五)基于CNN-Transformer的一维信号分类模型
  • 版本发布 | IvorySQL 3.4 发版
  • 鸿蒙开发(NEXT/API 12)【硬件(获取出行业务事件信息)】车载系统
  • Java解析Excel文件
  • 校企合作 | 宝兰德与西安航空职业技术学院共筑智慧教育新高地
  • Java使用Map数据结构配合函数式接口存储单个参数,多个参数,或带返回参数 的方法引用
  • 物联网系统中基于IIC通信的数字温度传感器测温方案
  • 基于SpringBoot+Vue的高校实习管理系统
  • 机器学习(2):机器学习的相关术语
  • [单master节点k8s部署]24.构建EFK日志收集平台(三)
  • [ACS_C]:以 H2和 O2等离子体处理的 Al2O3为载体的 Pt 催化剂用于液态有机氢载体对二苄基甲苯和全氢二苄基甲苯的加氢和脱氢
  • py-mmcif包pdbx_struct_assembly对象介绍
  • 计算机性能指标之MIPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS、EFLOPS、ZFLOPS