python自动化:列表的处理

2023-11-11

用到的第三方库

// 用于判断是否可迭代的库
from collections import Iterable
def getCount(list0, value):
    """
    功能: 统计元素出现的次数。仅支持字符串或数组统计
    :param list0: 可迭代数据
    :param value: 查找的元素
    :return: 统计的次数
    """
    try:
        if (isinstance(list0, str) and isinstance(value, str)) or isinstance(list0, list):
            return list0.count(value)
        return "参数错误"
    except Exception as e:
        return e
def insertValue(list0, index, value):
    """
    功能: 在指定位置添加元素
    :param list0: 数组
    :param index: 位置
    :param value: 值
    :return: 运行结果
    """
    try:
        if isinstance(list0, list):
            list0.insert(index, value)
            return list0
        raise Exception("非法的参数类型")
    except Exception as e:
        return e
def firstInsertValue(list0, value):
    """
    功能: 在数组头部添加元素
    :param list0: 数组
    :param value: 元素
    :return: 运行结果
    """
    return insertValue(list0, 0, value)
def lastInsertValue(list0, value):
    """
    功能:在数组尾部添加元素
    :param list0: 数组
    :param value: 元素
    :return: 运行结果
    """
    try:
        if isinstance(list0, list):
            list0.append(value)
            return list0
        else:
            raise Exception("非法的参数类型")
    except Exception as e:
        return e
def splitArray(list0, start, end):
    """
    功能: 截取数组
    :param list0: 数组
    :param start: 起始位置
    :param end: 结束位置
    :return: 运行结果
    """
    try:
        if isinstance(list0, list) and isinstance(start, int) and isinstance(end, int):
            if start <= -2 and end >= -1:
                return list0[:end]
            elif start >= -1 and end <= -2:
                return list0[start:]
            elif start >= -1 and end >= -1:
                return list0[start:end]
        raise Exception("非法的参数类型")
    except Exception as e:
        return e
def getLength(list0):
    """
    功能: 获取数组长度
    :param list0: 数组
    :return: 长度
    """
    try:
        return len(list0)
    except Exception as e:
        return e
def mergeArray(list0, list1):
    """
    功能: 两个数组合并
    :param list0: 数组1
    :param list1: 数组2
    :return: 合并后的数组
    """
    try:
        if isinstance(list0, list) and isinstance(list1, list):
            return list0 + list1
        raise Exception("非法的参数类型")
    except Exception as e:
        return e
def arrayToStr(list0, sep):
    """
    功能: 将数组按照指定间隔符转为字符串
    :param list0: 数组
    :param sep: 分隔符
    :return: 转化后的结果
    """
    try:
        result = ""
        if isinstance(list0, list):
            for item in list0:
                result += str(item)
                result += sep
            return result[:-2]
        else:
            raise Exception("非法的参数类型")
    except Exception as e:
        return e
def dropArray(list0):
    """
    功能: 数组去重
    :param list0: 数组
    :return: 去重后的数组
    """
    try:
        if isinstance(list0, list):
            return list(set(list0))
        raise Exception("非法的参数类型")
    except Exception as e:
        return e
def judgeInArray(data, value):
    """
    功能: 判断目标是否在字符串/数组中。与字符串中的重复
    :param data: 字符串/数组
    :param value: 目标元素
    :return: bool类型
    """
    try:
        if (isinstance(data, str) and isinstance(value, str)) or isinstance(data, list):
            if value in data:
                return True
            return False
        raise Exception("非法的参数类型")
    except Exception as e:
        return e
def popArray(list0, index=-1):
    """
    删除指定位置的元素,并返回删除的元素。默认删除最后一位
    :param list0: 原数组
    :param index: 要删除的元素的索引
    :return: 删除后的新数组
    """
    try:
        if isinstance(list0, list) and isinstance(index, int):
            if index != -1:
                if len(list0) <= index:
                    raise Exception("非法的参数")
            return list0.pop(index)
        raise Exception("非法的参数")
    except Exception as e:
        return e
def removeData(list0, data):
    """
    删除匹配到的第一个元素
    :param list0: 数组
    :param data: 要删除的元素
    :return: 运行结果
    """
    try:
        if isinstance(list0, list):
            if data in list0:
                list0.remove(data)
                return True
            raise Exception("要删除的对象不在目标数组中")
        raise Exception("非法的参数")
    except Exception as e:
        return e
def sortArray(list0, rules, reverse=False):
    """
    排序。适用于任何可迭代对象
    :param list0: 可迭代对象
    :param rules: 排序依据。如果为对象,可以根据某一对象的属性进行排序
    :param reverse: 排序规则。升序或者降序
    :return: 排序后的数组
    """
    try:
        if isinstance(list0, Iterable):
            return sorted(list0, key=rules, reverse=reverse)
        raise Exception("非法的参数")
    except Exception as e:
        return e
def clearArray(list0):
    """
    清空数组
    :param list0: 数组
    :return: 运行结果
    """
    try:
        if isinstance(list0, list):
            list0.clear()
            return True
        raise Exception("非法的参数")
    except Exception as e:
        return e
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python自动化:列表的处理 的相关文章

  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 安装了 32 位的 Python,显示为 64 位

    我需要运行 32 位版本的 Python 我认为这就是我在我的机器上运行的 因为这是我下载的安装程序 当我重新运行安装程序时 它会将当前安装的 Python 版本称为 Python 3 5 32 位 然而当我跑步时platform arch
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • 立体太阳图 matplotlib 极坐标图 python

    我正在尝试创建一个与以下类似的简单的立体太阳路径图 http wiki naturalfrequent com wiki Sun Path Diagram http wiki naturalfrequency com wiki Sun Pa
  • YOLOv8获取预测边界框

    我想将 OpenCV 与 YOLOv8 集成ultralytics 所以我想从模型预测中获取边界框坐标 我该怎么做呢 from ultralytics import YOLO import cv2 model YOLO yolov8n pt
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • import matplotlib.pyplot 给出 AttributeError: 'NoneType' 对象没有属性 'is_interactive'

    我尝试在 Pycharm 控制台中导入 matplotlib pyplt import matplotlib pyplot as plt 然后作为回报我得到 Traceback most recent call last File D Pr
  • 仅第一个加载的 Django 站点有效

    我最近向 stackoverflow 提交了一个问题 标题为使用mod wsgi在apache上多次请求后Django无限加载 https stackoverflow com questions 71705909 django infini
  • Pandas 将多行列数据帧转换为单行多列数据帧

    我的数据框如下 code df Car measurements Before After amb temp 30 268212 26 627491 engine temp 41 812730 39 254255 engine eff 15
  • 根据列 value_counts 过滤数据框(pandas)

    我是第一次尝试熊猫 我有一个包含两列的数据框 user id and string 每个 user id 可能有多个字符串 因此会多次出现在数据帧中 我想从中导出另一个数据框 一个只有那些user ids列出至少有 2 个或更多string
  • 为什么 Pickle 协议 4 中的 Pickle 文件是协议 3 中的两倍,而速度却没有任何提升?

    我正在测试 Python 3 4 我注意到 pickle 模块有一个新协议 因此 我对 2 个协议进行了基准测试 def test1 pickle3 open pickle3 wb for i in range 1000000 pickle
  • Python:XML 内所有标签名称中的字符串替换(将连字符替换为下划线)

    我有一个格式不太好的 XML 标签名称内有连字符 我想用下划线替换它 以便能够与 lxml objectify 一起使用 我想替换所有标签名称 包括嵌套的子标签 示例 XML
  • 如何在 pygtk 中创建新信号

    我创建了一个 python 对象 但我想在它上面发送信号 我让它继承自 gobject GObject 但似乎没有任何方法可以在我的对象上创建新信号 您还可以在类定义中定义信号 class MyGObjectClass gobject GO
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • 感知机对偶算法

    知识源于 统计学习方法 第二版 李航 感知机 perception 一种二分类的线性分类模型 输入为实例的特征向量 输出为实例的类别 二分类类别为 1 1二值 用算法2 2 感知机学习算法的对偶形式 代码实现例2 2 一 实验目的 用算法2
  • 1061 判断题

    判断题的评判很简单 本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分 输入格式 输入在第一行给出两个不超过 100 的正整数 N 和 M 分别是学生人数和判断题数量 第二行给出 M 个不超过 5 的正整数 是每道题的满分值 第
  • POJ-3253 Fence Repair

    农夫约翰想修理牧场周围的一小段围栏 他测量围栏并认定他需要 1 20000 厚木板 每一个都具有一些整数长度大号我 1 大号我 50000 单元 然后 他购买一块长板足够长 以便看到N块板 即 其长度是长度L i的总和 FJ忽略了 切口 锯
  • VPP代码阅读中文注解--dlist.h

    双向链表算法 本双向链表的所有元素存储在一个pool中 根据pool中内存块的序号进行索引 typedef struct u32 next u32 prev u32 value dlist elt t 本双向链表中每一个元素的结构 valu
  • Linux基础命令使用(4)

    which命令 which 命令的作用是 在 PATH 变量指定的路径中搜索可执行文件的所在位置 它一般用来确认系统中是否安装了指定的软件 which 可执行文件名称 确认是否安装了 gcc which gcc whereis命令 wher
  • 移动基站

    中国移动的基站采用小区制 覆盖范围几KM 而联通采用大区制 可以覆盖几十KM 辐射的频率大小和能量决定覆盖范围 也从另一角度来看 由能量守恒的角度来分析 手机辐射大的其基站辐射小 GSM 反之手机辐射小的其基站辐射大 CDMA 一般分为以下
  • Liferay中的Portlet事件通信

    Liferay中的Portlet事件通信在有的项目开发中是需要实现的一种机制 下面转自http liferaycms blogspot com 2011 07 inter portlet communication html Inter p
  • Java 5-2、用户模块-7个接口实现

    5 2 用户模块 7个接口实现 web端注册 app端注册 所需参数更少 登录 用户详情 修改密码 用户开关 修改用户信息 一 新增类 AppUserService java 此类需定义和mapper层接口大致相同的方法 仅做返回值取舍 因
  • 编译报错:Module parse failed: Unexpected token (18:41)

    error in node modules yargs lib platform shims esm mjs Module parse failed Unexpected token 18 41 You may need an approp
  • 科研笔记(九)重构智能手机CSI指纹用于室内定位(上)

    重构智能手机CSI指纹用于室内定位 题目 CRISLoc Reconstructable CSI Fingerprinting for Indoor Smartphone Localization 论文作者 Zhihui Gao Yunfa
  • Google Chrome访问出现 NET::ERR_CERT_INVALID

    前言 搭建一个nginx网站后 访问出现 您的连接不是私密连接 解决Google Chrome浏览器访问一个网页出现 NET ERR CERT INVALID 这是因为访问没有使用信任的CA证书的网站 chrome提示NET ERR CER
  • 电脑开机就重启循环_如何远程重启服务器???

    重启远程服务器重启的方法如下 方法一 使用windows自带的shutdown命令 远程重启服务器 当远程桌面连接服务无法顺利使用后 首先要确定的是服务器是否真的死机 通过ping目标服务器IP看是否畅通或者访问该服务器上的相关网络服务看是
  • 基于zlib实现的zip文件解压缩,支持目录解压缩,使用c语言实现

    目前用到了解压缩目录的功能 使用zlib来实现 但是找遍了网上的例子很少涉及到使用c语言编写并且完成多目录解压缩的例子 于是自己查看源码的minizip例子 修改了一下供大家参考 zlib官网下载 https www zlib net 当前
  • 掌优电子提供了私有化的刷脸支付部署

    现在刷脸支付是比较受热宠的一个加盟招商项目 不仅仅是刷脸支付带给商家便利 带给消费者不一样的智慧体验 这更是科技进步 互联网发展的一项实力证明 刷脸支付是继移动支付后推出的一种基于人脸AI识别技术 不仅仅让消费者在付款买单的时候摆脱了对手机
  • Spring Cloud中,Eureka常见问题总结

    Spring Cloud中 Eureka常见问题总结 指定Eureka的Environment 1 eureka environment 指定环境 参考文档 https github com Netflix eureka wiki Conf
  • 寻找数组的中心索引

    给你一个整数数组 nums 请计算数组的 中心下标 数组 中心下标 是数组的一个下标 其左侧所有元素相加的和等于右侧所有元素相加的和 如果中心下标位于数组最左端 那么左侧数之和视为 0 因为在下标的左侧不存在元素 这一点对于中心下标位于数组
  • mmdetection W&B 用wandb权重和偏差以进行记录

    如题 共需要修改四个文件 1 mmcv runner hooks logger init py from pavi import PaviLoggerHook from tensorboard import TensorboardLogge
  • 【Kubernetes运维篇】RBAC之准入控制器详解

    文章目录 一 ResourceQuota准入控制器 1 ResourceQuota是什么 2 限制CPU 内存 Pod数量 Deployment数量 3 限制存储空间大小 二 LimitRanger准入控制器 1 LimitRanger是什
  • L2-017 人以群分 (25 分)(c语言实现)

    该题目如下 如题所示 其中会先给数据的个数 所以先进行数据的录入 利用数组来存储数据中的活跃度 同时利用一个n来记录数组中元素的个数 数据录入过程 int n1 n2 n3 int n 0 scanf d n int arr 100000
  • python自动化:列表的处理

    用到的第三方库 用于判断是否可迭代的库 from collections import Iterable def getCount list0 value 功能 统计元素出现的次数 仅支持字符串或数组统计 param list0 可迭代数据