Python 算法基础篇之数组和列表:创建、访问、添加和删除元素

Python 算法基础篇之数组和列表:创建、访问、添加和删除元素

  • 引用
  • 1. 数组的概念和创建
  • 2. 列表的概念和创建
  • 3. 访问数组和列表中的元素
  • 4. 添加和删除元素
    • a ) 添加元素
    • b ) 删除元素
  • 总结

引用

在算法和数据结构中,数组和列表是常见的数据结构,用于存储和操作一组数据。在 Python 中,数组和列表的使用非常灵活和方便。本篇博客将介绍数组和列表的概念,并通过实例代码演示它们的创建、访问、添加和删除元素的操作。

😃😄 ❤️ ❤️ ❤️

1. 数组的概念和创建

数组是一种数据结构,用于存储具有相同类型的元素。在 Python 中,我们可以使用 array 模块来创建和操作数组。下面是一个示例代码:

import array# 创建数组
arr = array.array('i', [1, 2, 3, 4, 5])# 打印数组
print("数组元素:", arr)

代码解释:上述代码通过导入 array 模块创建了一个整数类型的数组 arr ,并初始化了一些元素。 'i' 是数组的类型码,代表整数类型。使用 array 函数创建数组时,需要指定类型码和初始化的元素。

数组提供了一种有序的存储方式,可以按照索引访问其中的元素。

2. 列表的概念和创建

列表是 Python 中内置的数据结构,用于存储一组有序的元素。列表是可变的,可以包含不同类型的元素。下面是一个示例代码:

# 创建列表
lst = [1, 2, 3, 4, 5]# 打印列表
print("列表元素:", lst)

代码解释:上述代码创建了一个整数类型的列表 lst ,并初始化了一些元素。列表使用方括号 [] 来定义,其中的元素用逗号分隔。

列表是 Python 中最常用的数据结构之一,提供了丰富的操作和方法来访问和修改列表中的元素。

3. 访问数组和列表中的元素

在数组和列表中,我们可以通过索引访问特定位置的元素。索引从 0 开始,依次递增。下面是一个示例代码:

# 访问数组和列表中的元素
arr = array.array('i', [1, 2, 3, 4, 5])
lst = [1, 2, 3, 4, 5]# 访问第一个元素
print("数组第一个元素:", arr[0])
print("列表第一个元素:", lst[0])# 访问最后一个元素
print("数组最后一个元素:", arr[-1])
print("列表最后一个元素:", lst[-1])# 访问指定范围的元素
print("列表前三个元素:", lst[0:3])

代码解释:上述代码演示了如何通过索引访问数组和列表中的元素。使用方括号和索引来指定要访问的元素位置。可以通过正数索引访问从头到尾的元素,通过负数索引访问从尾到头的元素。还可以使用切片操作访问指定范围的元素。

通过索引访问数组和列表中的元素使得我们能够灵活地获取和操作特定位置的数据。

4. 添加和删除元素

数组和列表都支持添加和删除元素的操作,可以根据需要动态地修改数据。下面是一些示例代码:

a ) 添加元素

# 添加元素
lst = [1, 2, 3, 4, 5]# 在末尾添加元素
lst.append(6)# 在指定位置插入元素
lst.insert(0, 0)# 打印列表
print("添加元素后的列表:", lst)

代码解释:上述代码演示了如何在列表中添加元素。通过 append 方法可以在列表末尾添加元素,通过 insert 方法可以在指定位置插入元素。

b ) 删除元素

# 删除元素
lst = [1, 2, 3, 4, 5]# 删除指定元素
lst.remove(3)# 删除指定位置的元素
del lst[0]# 打印列表
print("删除元素后的列表:", lst)

代码解释:上述代码演示了如何从列表中删除元素。通过 remove 方法可以删除指定的元素,通过 del 语句可以删除指定位置的元素。

添加和删除元素使得我们能够动态地修改数组和列表的内容,适应不同的需求。

总结

本篇博客介绍了数组和列表的概念,并通过示例代码演示了它们的创建、访问、添加和删除元素的操作。数组和列表是常见的数据结构,用于存储和操作一组数据。

[ 专栏推荐 ]
😃 Python 算法初阶:入门篇》😄
❤️【简介】:本课程是针对 Python 初学者设计的算法基础入门课程,涵盖算法概念、时间复杂度、空间复杂度等基础知识。通过实例演示线性搜索、二分搜索等算法,并介绍哈希表、深度优先搜索、广度优先搜索等搜索算法。此课程将为学员提供扎实的 Python 编程基础与算法入门,为解决实际问题打下坚实基础。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/3479.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat工作原理

一、Tomcat架构 ### 说明: Server:表示整个 Tomcat Catalina servlet 容器,Server 中可以有多个 Service。(可以通过telenet 8005后连接后输入“SHUTDOWN” 注意这里是大写,来关闭服务)Service&#xff1…

Microsoft Update Assistant导致 MAC 电脑内存占用过高解决方案

目录 问题: 排查原因: 解决方案: 问题: 一直很苦恼,每次开机隔会发下电脑内存就 100%了,这次找了下原因,也记录下. 排查原因: 通过 mac 自带的活动监视器,发现居然是Microsoft Update Assistant它导致的 解决方案: 那这样就简单了,这个应该是 word,execl 的一个自动更新程序…

Spring 事务控制

1. 编程式事务控制相关对象 1.1 平台事务管理器 1.2 事务定义对象 1.3 事务状态对象 关系: PlatformTransactionManager TransactionManager TransactionStatus 2. 基于XML的声明式事务控制 切点:(目标对象)业务方法&#xff…

OpenCv之Canny

目录 一、自适应阈值 二、边缘检测Canny 一、自适应阈值 引入前提:在前面的部分我们使用是全局闻值,整幅图像采用同一个数作为闻值。当时这种方法并不适应与所有情况,尤其是当同一幅图像上的不同部分的具有不同亮度时。这种情况下我们需要采用自适应闻…

C# OpenCvSharp 直方图均衡化 图像去雾

直方图 直方图均衡化 自适应的直方图均衡化 全局直方图均衡化 局部直方图均衡化 对比度调整 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Sy…

手打 小份 kubernetes v1.27.3 集群

文章目录 1. 准备2. yum3. 安装 ansible4. 互信5. hosts6. 关闭防火墙、swap、selinux7. 配置系统文件句柄数8. 启用ipvs9. 修改内核参数10. 安装 containerd11. 安装nerdctl12. kubernetes yum13. 部署 kubernetes13.1 安装工具13.2 初始化配置 14. 部署 master15. 部署 node1…

Tensorflow入门(2)——深度学习框架Tesnsflow 线程+队列+IO操作 文件读取案例

目录 一、二、Tesnsflow入门 & 环境配置 & 认识Tensorflow三、线程与队列与IO操作1.队列实例:完成一个出队列、1、入队列操作(同步操作) 2.队列管理器 创建线程3.线程协调器 管理线程案例:通过队列管理器来实现变量加1,入队&#xff…

使用更少数据训练更好的alpaca

概述 该论文的研究背景是指令微调在大型语言模型中取得了重要的成果,但现有的训练数据质量问题导致模型性能下降。 过去的方法主要是使用低质量的数据进行指令微调,这些数据中存在错误或无关的回答,导致结果误导和训练成本增加。该论文的方…

Redis对象结构 — RedisObject

目录 Redis 键值对数据库的全过程​编辑 RedisObject结构体 Redis的encoding编码方式 type对应的数据对象类型 Redis 键值对数据库的全过程 redisDb 结构,表示 Redis 数据库的结构,结构体里存放了指向了 dict 结构的指针;dict 结构&#…

Windows操纵kafka

这里写目录标题 启动kafk创建一个测试主题查看所有主题查看first详细信息修改分区数(分区数只能增加 不能减少)删除主题生产者生产数据消费命令 启动kafk 安装目录下 .\bin\windows\kafka-server-start.bat .\config\server.properties创建一个测试主题 安装目录下 .\bin\wi…

Revit中墙体的问题,门窗洞口及柱断梁墙

一、如何同时开两道相邻墙的门窗洞口 做外墙装饰的时候,我们很经常为了方便、简洁在已经绘制好的墙体外围再绘制一面墙体,并且添加上材质作为外饰面,提高工作效率;但是遇到有门窗洞口的墙体时,外饰面墙体却没办法直接被门窗剪切&a…

Android APP性能及专项测试

Android篇 1. 性能测试 Android性能测试分为两类: 1、一类为rom版本(系统)的性能测试 2、一类为应用app的性能测试Android的app性能测试包括的测试项比如: 1、资源消耗 2、内存泄露 3、电量功耗 4、耗时 5、网络流量消耗 6、移动…

【hadoop】部署hadoop的伪分布模式

hadoop的伪分布模式 伪分布模式的特点部署伪分布模式hadoop-env.shhdfs-site.xmlcore-site.xmlmapred-site.xmlyarn-site.xml对NameNode进行格式化启动Hadoop 对部署是否完成进行测试免密码模式免密码模式的原理(重要)免密码模式的配置 伪分布模式的特点…

东莞-戴尔R540服务器故障告警处理方法

DELL PowerEdge R540服务器故障维修案例:(看到文章就是缘分) 客户名称:东莞市某街道管理中心 故障机型:DELL R540服务器 故障问题:DELL R540服务器无法开机,前面板亮黄灯,工程师通过…

备战秋招 | 笔试强训9

目录 一、选择题 二、编程题 三、选择题题解 四、编程题题解 一、选择题 1、某函数申明如下() void Func(int &nVal1); A. Func(a) B. Func(&a) C. Func(*a) D. Func(&(*a)) 2、C语言中,类ClassA的构造函数和析构函数的执行…

Layui基本功能(增删改查)

话不多说,根据我前面的博客我们直接进行操作。记住以下的文件放置,防止操作出不来. 这是我们要完成的界面及功能 后台功能实现 数据查看 我们在userDao方法里面进行增删改查的方法我们在userAction进行方法的编写R工具类的介绍 查询 userDao方法 因为我…

pico添加devmem2读写内存模块

devmem2读写内存 自定义msh命令devmem2验证msh命令devmem2读CPUID读写全局变量 devmem2模块可实现对设备寄存器的读写操作。在RT-Thread的命令行组件Fish中添加devmem2模块,用户可在终端输入devmem2相关命令,FinSH根据输入对指定寄存器进行读写&#xff…

Flask SQLAlchemy_Serializer ORM模型序列化

在前后端分离项目中,经常需要把ORM模型转化为字典,再将字典转化为JSON格式的字符串。在遇到sqlalchemy_serializer之前,我都是通过类似Java中的反射原理,获取当前ORM模型的所有字段,然后写一个to_dict方法来将字段以及…

FPGA adrv9002 4收4发板卡,支持NVME SATA EMMC 光口 FMC

板卡采用ADI 射频直采芯片ADRV9002 ,支持4收4发支持外部本振 跳频 同时支持4X 10G光口对外传输,FMC扩展 。同时支持4X NVME接口,可以实时流盘,备份一路SAT A接口,板卡同时预留了EMMC,可以PS PL选通访问&…

IDEA 常用快捷键

•快速生成:main psvm / main •控制台快速输出语句 sout •删除一行:CTRL Y •复制一行:CTRL D •查找 •跳转切换 •阅读源码 •编辑 •新添,新建:ALT insert •目录显示与关闭:CTRL Fn F12 …