网站首页 > 文章精选 正文
在这篇文章中,您将了解 Python 中数组和列表之间的区别。
Python 列表
Python 列表是一种内置数据结构,是包含在方括号[]的元素集合。它们具有许多独特的属性,使它们与其他数据结构不同。
有序 – 允许使用索引号访问
可变 – 可以添加和删除列表中的元素
重复 – 列表中的元素可以重复
异构 – 列表中的元素可以是不同的数据类型
Python 数组
Python 内置了一个 Array 模块,可用于在 Python 中创建数组。虽然数组保留了 Python 列表的大部分特征,可以包含重复项、有序且可变,但不能存储不同数据类型的元素。
为了创建一个 Array 数组,我们首先需要导入 Array 模块。
「语法格式:」
array.array(typecode[, initializer])
「参数:」
typecode: 指定当前数组所能接受的元素数据类型,是一个字符,这个字符被称为类型码。
initializer: 可选参数, 数组初始化时添加的元素。
import array
n = array.array('i', [1,2,3,4,5])
print(n)
类型码 | C 类型 | Python 类型 | 字节尺寸 |
'b' | signed char | int | 1 |
'B' | unsigned char | int | 1 |
'u' | wchar_t | Unicode | 2 |
'h' | signed short | int | 2 |
'H' | unsigned short | int | 2 |
'i' | signed int | int | 2 |
'I' | unsigned int | int | 2 |
'l' | signed long | int | 4 |
'L' | unsigned long | int | 4 |
'q' | signed long long | int | 8 |
'Q' | unsigned long long | int | 8 |
'f' | float | float | 4 |
'd' | double | float | 8 |
NumPy 数组
与 Array 数组相比,可能会见到 NumPy 数组。NumPy 数组通常用于数值计算,它更类似于 Python 列表。事实上,它具有 Python 列表的所有属性,还附带了许多不同的方法和函数来增强功能。
import numpy as np
n = np.array([1,2,3,4,5])
print(n)
Python 列表、Array 数组和 NumPy 数组对比
Python 列表 | NumPy 数组 | Array 数组 | |
元素类型 | 不同 | 不同 | 相同 |
功能 | 内置 | 需要安装导入 | 需要导入 |
声明 | 无需声明 | 需要声明 | 需要声明 |
长度 | 不固定 | 大小统一 | 大小统一 |
由于 Python 列表很容易创建和更改,但是,如果想执行数学运算,并不是那么方便。例如,将列表的每一个元素加上5,我们需要使用 for 循环或列表推导式来逐个处理。
list1 = [1,2,3,4,5]
list2 = []
for n in list1:
list2.append(n + 5)
print(list2)
如果使用数组,可以直接执行数学运算。
import numpy as np
n = np.array([1,2,3,4,5])
n += 5
print(n)
?
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
?
猜你喜欢
- 2025-01-05 PHP源码系列之扩展的原理与开发
- 2025-01-05 「linux」多个套接字可以绑定同一个端口吗
- 2025-01-05 基于netmap的用户态协议栈(一)
- 2025-01-05 Linux文件:超级块inode dentry file关系
- 2025-01-05 实战Netty!基于私有协议,怎样快速开发网络通信服务
- 2025-01-05 char, unsigned char,之间的相互转换
- 2025-01-05 PHP 扩展与 ZEND 引擎的整合
- 2025-01-05 C语言:位域和字节序
- 2025-01-05 Nor Flash的两种规范
- 2025-01-05 「技术干货」Ip头udp数据包ARP协议(代码实现netmap)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)