python输入数组的方法_Python 数组

news/2024/7/24 10:04:17 标签: python输入数组的方法

Python 数组

在本文中,您将学习Python数组,数组和列表之间的区别,以及如何以及何时使用示例来使用它们。

在编程中,数组是相同类型的元素的集合。

数组在Java,C / C ++,JavaScript等大多数编程语言中都很流行。但是,在Python中,它们并不常见。人们经常谈论Python数组时,他们谈论的是Python列表。如果您如果不知道什么是列表,则绝对应该查看Python列表文章。

Python列表和数组模块作为数组

我们可以将列表视为数组。但是,我们不能限制列表中存储的元素的类型。例如:a = [1, 3.5, "Hello"]

如果使用array模块创建数组 ,则数组的所有元素必须为相同的数字类型。import array as arr

a = arr.array('d', [1, 3.5, "Hello"]) // Error

如何创建数组?

您可能从上面的示例中猜到了,我们需要导入array模块以创建数组。例如:import array as arr

a = arr.array('d', [1.1, 3.5, 4.5])

print(a)

在这里,我们创建了一个float类型数组。字母'd'是类型代码。这确定了创建过程中数组的类型。

常用的类型代码:CodeC 类型Python 类型最小字节'b'signed charint1

'B'unsigned charint1

'u'Py_UNICODEUnicode2

'h'signed shortint2

'H'unsigned shortint2

'i'signed intint2

'I'unsigned intint2

'l'signed longint4

'L'unsigned longint4

'f'floatfloat4

'd'doublefloat8

我们将不在本文中讨论不同的C类型。在整篇文章中,我们将使用两种类型代码:'i'整数和'd'浮点数。

注意:'u'自版本3.3起,不推荐使用Unicode字符的类型代码。尽可能避免使用它。

如何访问数组元素?

我们使用索引来访问数组的元素:import array as arr

a = arr.array('i', [2, 4, 6, 8])

print("第一个元素:", a[0])

print("第二个元素:", a[1])

print("最后一个元素:", a[-1])

请记住,索引从0(而不是1)开始,类似于列表。

如何切片数组?

我们可以使用切片运算符访问数组中的一系列项目:。import array as arr

numbers_list = [2, 5, 62, 5, 42, 52, 48, 5]

numbers_array = arr.array('i', numbers_list)

print(numbers_array[2:5]) # 第3-第5个元素

print(numbers_array[:-5]) # 从开始到第4个元素

print(numbers_array[5:]) # 从第6个元素到末尾

print(numbers_array[:]) # 从开始到末尾

运行该程序时,输出为:array('i', [62, 5, 42])

array('i', [2, 5, 62])

array('i', [52, 48, 5])

array('i', [2, 5, 62, 5, 42, 52, 48, 5])

如何更改或添加元素?

数组是可变的;它们的元素可以类似列表的方式进行更改。import array as arr

numbers = arr.array('i', [1, 2, 3, 5, 7, 10])

# 改变第一个元素

numbers[0] = 0

print(numbers) # 输出: array('i', [0, 2, 3, 5, 7, 10])

# 改变第3到第5个元素

numbers[2:5] = arr.array('i', [4, 6, 8])

print(numbers) # 输出: array('i', [0, 2, 4, 6, 8, 10])

我们可以使用append()方法将一个项目添加到列表中,或者使用extend()方法将多个项目添加到列表中 。import array as arr

numbers = arr.array('i', [1, 2, 3])

numbers.append(4)

print(numbers) # 输出: array('i', [1, 2, 3, 4])

# extend()将iterable追加到数组的末尾

numbers.extend([5, 6, 7])

print(numbers) # 输出: array('i', [1, 2, 3, 4, 5, 6, 7])

我们可以使用+运算符连接两个数组。import array as arr

odd = arr.array('i', [1, 3, 5])

even = arr.array('i', [2, 4, 6])

numbers = arr.array('i') # 创建一个空的整数数组

numbers = odd + even

print(numbers)

如何移除/删除元素?

我们可以使用Python的del语句从数组中删除一个或多个项目。import array as arr

number = arr.array('i', [1, 2, 3, 3, 4])

del number[2] # 删除第三个元素

print(number) # 输出: array('i', [1, 2, 3, 4])

del number # 删除整个数组

print(number) # 错误:没有定义数组

我们可以使用remove()方法删除给定项目,也可以使用 方法删除给 pop()定索引处的项目。import array as arr

numbers = arr.array('i', [10, 11, 12, 12, 13])

numbers.remove(12)

print(numbers) # 输出: array('i', [10, 11, 12, 13])

print(numbers.pop(2)) # 输出: 12

print(numbers) # 输出: array('i', [10, 11, 13])

什么时候使用数组?

列表比数组灵活得多。它们可以存储不同数据类型的元素,包括字符串。而且,列表比数组要快。而且,如果您需要对数组和矩阵进行数学计算,则最好使用NumPy库之类的方法。

除非您真的需要数组(与C代码接口可能需要数组模块),否则不要使用它们。


http://www.niftyadmin.cn/n/1459882.html

相关文章

Vue问题 Required request body is missing axios和后端交互时,参数需要写在body和query中,该怎么写?

项目场景: 报错 问题描述: 请求体被封装到url中,而不是body,我发的是post请求 原因分析: 解决方案: 如果是put,post请求,使用data: parameter 如果是delete,get请求…

学习日志day60(2021-10-29)(1、Linux系统的基础命令)

学习内容:学习Linux(Day60) 1、Linux系统的基础命令 1、Linux系统 (1)Linux文件系统 目录名称说明/Linux系统根目录/bin系统启动时需要的执行文件(二进制)/dev设备文件目录/etc操作系统的配置文件目录目录/home用户…

linux 修改用户组_Linux——Linux 用户和用户组管理

Linux 用户和用户组管理用户账号的添加、删除与修改。用户口令的管理。用户组的管理。Linux系统用户账号的管理1、添加新的用户账号使用useradd命令,其语法如下:useradd 选项 用户名选项:-c comment 指定一段注释性描述。-d 目录 指定用户主目录&#xf…

高斯混合模型聚类_透彻理解高斯混合模型

高斯混合模型GMM是一个非常基础并且应用很广的模型。对于它的透彻理解非常重要。本文从高斯分布开始逐步透彻讲解高斯混合模型高斯分布高斯分布有两个参数:μ mean(数据的中心) σ2 variance(数据的分布扩展范围)μ是高斯分布的位置参数。由概率密度函数图像可知&a…

微软账户加载不出来_微软杀死了曾经全球第一的浏览器

点击“开发者技术前线”,选择“星标?”让一部分开发者看到未来来自扩展迷EXTFANS今年以来,Edge浏览器切换到Chromium生态并重装上阵,并强势地捆绑推送给了几乎每一个Win 10用户。这样的效果也是显而易见的——短短几个月里,Edge的…

学习日志day61(2021-10-29)(1、Linux服务器环境下安装软件 2、Linux服务器环境部署项目)

学习内容:学习Linux(Day61) 1、Linux服务器环境下安装软件 2、Linux服务器环境部署项目 1、Linux服务器环境下安装软件 (1)进程PID:Linux系统中的进程的唯一标识 查看进程:ps -ef|grep [进程标…

学习日志day62(2021-10-30)(1、什么是shell 2、shell脚本编程)

学习内容:学习Linux(Day62) 1、什么是shell 2、shell脚本编程 1、什么是shell (1)Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息&#xff0c…

学习日志day63(2021-11-01)(1、Nosql数据库 2、安装Redis 3、Redis常用五大数据类型)

学习内容:学习Redis(Day63) 1、Nosql数据库 2、安装Redis 3、Redis常用五大数据类型 1、Nosql数据库 (1)技术的分类 1.解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN 2.解决扩展性…