python 结构数组_Python数组

数组是一个容器,它可以容纳一定数量的项目,这些项目是相同的类型。 大部分数据结构都使用数组来实现它们的算法。 以下是理解数组(Array)概念的重要术语。

元素 - 存储在数组中的每个项目称为元素。

索引 - 数组中元素的每个位置都有一个数字索引,用于标识元素。

数组表示

数组可以用不同的语言,可以各种方式声明。下面是一个例子。

根据上述说明,需要了解清楚以下问题。

索引从0开始。

数组长度为10,这意味着它可以存储10个元素。

每个元素都可以通过索引访问。 例如,可以在索引6处获取一个元素的值为9。

基本操作

以下是数组支持的基本操作。

遍历 - 逐个打印所有数组元素。

插入 - 在给定的索引处添加一个元素。

删除 - 删除给定索引处的元素。

搜索 - 使用给定索引或值搜索元素。

更新 - 更新给定索引处的元素。

通过将数组模块导入到python程序中来创建数组,数组声明如下所示 -

from array import *

arrayName = array(typecode, [Initializers])

typecode是用于定义数组将保存的值类型的代码。 一些常用的typecodes使用如下:

Typecode

b

表示大小为1字节的有符号整数

B

表示大小为1字节的无符号整数

c

表示大小为1字节的字符

i

表示大小为2个字节的带符号整数

I

表示大小为2个字节的无符号整数

f

表示大小为4字节的浮点

d

表示大小为8个字节的浮点

在查看各种数组操作之前,可以使用python创建和打印数组。

下面的代码创建一个名称为array1的数组。

from array import *

array1 = array('i', [10,20,30,40,50])

for x in array1:

print(x)

执行上面示例代码,得到以下结果 -

10

20

30

40

50

1. 访问数组元素

可以使用元素的索引来访问数组中的每个元素。 以下代码显示了如何访问数组中的指定元素 -

from array import *

array1 = array('i', [10,20,30,40,50])

# 访问第一个元素

print (array1[0])

# 访问第三个元素

print (array1[2])

当编译并执行上述程序时,它会产生以下结果 -

10

30

2. 插入操作

插入操作是将一个或多个数据元素插入到数组中。 根据需要,可以在开始,结束或任何给定的数组索引中添加/插入一个新元素。

在这里,使用python内置insert()方法在数组中间添加一个数据元素。

from array import *

array1 = array('i', [10,20,30,40,50])

array1.insert(1,60)

for x in array1:

print(x)

执行上面示例代码,得到以下结果 -

10

60

20

30

40

50

3. 删除元素操作

删除是指从数组中删除现有元素并重新组织数组的所有元素。

在这里,使用python内置remove()方法来删除数组中的数据元素。参考以下代码实现 -

from array import *

array1 = array('i', [10,20,30,40,50])

array1.remove(40)

for x in array1:

print(x)

执行上面示例代码,得到以下结果 -

10

20

30

50

4. 查找/搜索操作

可以根据其值或索引来执行数组元素的搜索(查找)。

在这里,使用python内置index()方法来搜索数组中的元素。

from array import *

array1 = array('i', [10,20,30,40,50])

print (array1.index(40))

执行上面示例代码,得到以下结果 -

3

注意:如果该值不在数组中,则返回一个错误。

5. 更新操作

更新操作是指在给定索引处更新数组中的现有元素。

在这里,只需重新分配一个新的值给想要更新的所需索引即可。

from array import *

array1 = array('i', [10,20,30,40,50])

array1[2] = 180

for x in array1:

print(x)

执行上面示例代码,得到以下结果 -

10

20

180

40

50

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

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

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

相关文章

广播 布局文件代码

<?xml version"1.0" encoding"utf-8"?><RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android" xmlns:app"http://schemas.android.com/apk/res-auto" xmlns:tools"http://schemas.android.com/…

PCGen的垃圾收集分析

介绍 我决定结合我的两个软件爱好&#xff0c;并在PCGen上进行一些分析&#xff0c; PCGen是一种流行的基于Java的开放源代码角色生成器&#xff0c;用于角色扮演游戏。 我用Censum &#xff0c;我们&#xff08; jClarity的&#xff09;新的垃圾收集日志分析工具来进行分析。 …

THINKPHP增删改查--(改)

1.CURD 控制器?>namespace Home\Controller;use Think\Controller;class CurdController extends Controller{ public function index(){ $db_student D(Student); $data_student $db_student->relation(true)->select();// dump($data_student); $this->assign…

Linux监控CPU关闭服务器,监控Linux服务器CPU和内存

利用脚本获取Linux服务器的CPU和内存。需要安装bc计算器yum install -y bc创建执行脚本计算CPU利用率&#xff0c;配置了5秒采样。执行脚本&#xff0c;5秒后输出采集日期|CPU负载|可用内存|总内存#!/bin/sh##echo user nice system idle iowait irq softirqCPULOG_1$(cat /pro…

springboot不会运行gc_SpringBoot 和JVM 调优(深度好文,建议收藏)

点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐]项目调优作为一名工程师&#xff0c;项目调优这事&#xff0c;是必须得熟练掌握的事情。在SpringBoot项目中&#xff0c;调优主要通过配置文件和配置JVM的参数的方式进行。一、修改配置文件关于修改配置文件 application.p…

移动端原生js,css3实现轮播图

一、功能需求 1、自动播放2、滑动切换3、点击切换 二、思路分析 html代码&#xff1a; <div class"container">   <ul class"list clearfix">   <li class"item fl item5">图5</li>   <li class"item fl …

关于换行这个动作,win 和 mac 的实现

‘\r是回车&#xff0c;前者使光标到行首&#xff0c;&#xff08;carriage return&#xff09;\n是换行&#xff0c;后者使光标下移一格&#xff0c;&#xff08;line feed&#xff09;\r 是回车&#xff0c;return\n 是换行&#xff0c;newline对于换行这个动作&#xff1a;u…

你好骆驼:自动文件传输

Apache Camel在其主页上 &#xff08;以及Camel用户指南中 &#xff09;将其描述为“基于已知企业集成模式的通用开源集成框架”。 Camel框架基于《 企业集成模式 》一书&#xff0c;并提供了该书中描述的模式的实现 。 我看一下这篇文章中使用Camel的“ Hello World”类型示例…

Linux 常用命令二 pwd cd

一、pwd命令 显示整个路径名&#xff1a; wangwang:~$ pwd /home/wang 二、cd命令 切换到其他路径&#xff08;相对路径方式&#xff09;&#xff1a; wangwang:~$ cd workpalce/ wangwang:~/workpalce$ pwd /home/wang/workpalce 切换到其他路径&#xff08;绝对路径方式&…

3dobject用什么打开_第一次用开塞露是什么感觉?网友:像打开了新世界的大门

第一次用开塞露是什么感觉&#xff1f;网友:像打开了新世界的大门我妈说我小时候便秘去医院&#xff0c;医生给开了支开塞露&#xff0c;然后在医院的公厕里使用的&#xff0c;我妈的描述是:“要不是我手挪走的快点&#xff0c;就直接喷我手了”。。。。。。。。。。。。。。。…

linux root邮箱地址,linux – 如何将root的电子邮件转发到外部电子邮件地址?

我家里有一台小型服务器(Ubuntu 10.04),我想将root的电子邮件转发到我的gmail托管域,以获取安全通知,什么不是.我把所有东西都撕掉了,然后从头开始跑到other issues.我现在有sendmail工作,我可以发邮件到someexternal.com并收到邮件.但是,向/root/.forward添加地址实际上并不转…

RHEL6.4 xclock安装小记

http://blog.sina.com.cn/s/blog_623630d50101tc67.html转载于:https://www.cnblogs.com/Baronboy/p/7077911.html

Java 7中对String.substring的更改

众所周知&#xff0c;在您生成相同源字符串的许多子字符串的情况下&#xff0c;Java会优化子字符串操作。 它通过使用(value, offset, count)存储信息的方式来做到这一点。 请参阅以下示例&#xff1a; 在上图中&#xff0c;您会看到字符串“ Hello”和“ World&#xff01;”…

原生js创建模态框

1.效果图如下&#xff1a; 2.代码如下&#xff1a; <!DOCTYPE html><html><head><meta charset"UTF-8"><title>Test</title><style>#pageMask {visibility: hidden; position: absolute;left: 0px; top: 0px;width:…

python查询oracle数据库_python针对Oracle常见查询操作实例分析

本文实例讲述了python针对Oracle常见查询操作。分享给大家供大家参考&#xff0c;具体如下&#xff1a;1.子查询(难)&#xff1a;当进行查询的时候&#xff0c;发现需要的数据信息不明确&#xff0c;需要先通过另一个查询得到&#xff0c;此查询称为子查询&#xff1b;执行顺序…

按钮事件处理(3)

在进行gui编程时&#xff0c;我们最常使用的控件时按钮&#xff0c;在java中JButton类代表了按钮。它的类层次结构图是&#xff1a; java.lang.Object|_ java.awt.Component|_java.awt.Container|_javax.swing.JComponent|_javax.swing.AbstractButton|_javax.swing.JButton我们…

linux下I2C驱动发送IO时序,Linux I2C 驱动阅读的碰到的一些网上没有提到的东西

# re: Linux I2C 驱动阅读的碰到的一些网上没有提到的东西 回复 更多评论2009-04-11 13:39 by 初学都楼主&#xff0c;你好。我看了你那篇《Linux I2C核心、总线与设备驱动[转]》&#xff0c;让我明白了不少&#xff0c;不过我还是有些不明白的地方&#xff0c;想请教一下。我…

Java内存模型和优化

总览 许多多线程代码开发人员都熟悉这样的想法&#xff0c;即不同的线程可以对持有的值有不同的看法&#xff0c;这不是唯一的原因&#xff0c;即如果线程不安全&#xff0c;它可能不会看到更改。 JIT本身可以发挥作用。 为什么不同的线程看到不同的值&#xff1f; 当您有多个…

C_数组详解

数组&#xff1a; 一 一维数组 1.1 一维数组的定义: 类型符 数组名[常量表达式]; int a[10]; 说明: 1.数组的命名规则遵循标识符命名规则。 2.定义时需要指定元素的个数。方括号里的常量表达式表示元素的个数。 3.常量表达式中不能包含变量&#xff1b;如&#xff1a;int a[n];…

CSS节选——选择器

CSS&#xff0c;cascading style sheet&#xff0c;层叠样式表&#xff0c;请留意层叠概念。 css3为了区分伪类和伪元素&#xff0c;伪元素采用双冒号写法。 常见伪类——:hover,:link,:active,:target,:not(),:focus。 常见伪元素——::first-letter,::first-line,::before…