[Python]数组基础

简介: [Python]数组基础

在python中,一般使用列表表示数组。例如:

  • 一维数组
arr1 = [1,2,3,4]
  • 二维数组
arr2 = [[1,2,3,4],[5,6,7,8]]

数组的常用操作

  • 追加

利用append()方法在数组末尾追加元素。

arr1 = [1,2,3,4]
arr1.append(5)
  • 删除

删除可以用pop()remove()del()方法。区别在于,pop()用于移除列表中的一个元素,默认为最后一个元素,并且返回该元素的值remove()用于一处列表中某个值的第一个匹配项;del()方法则按照索引删除元素。

示例:

arr3 = [1,2,3,1,4]
arr1.remove(1) *# 删除第一个 1*
arr1.pop() *# 删除 4,并返回 4*
del arr1[3] *# 删除index为2的元素,即3*
  • 插入

使用insert()方法,可以将指定对象插入到列表的指定位置。insert()方法的格式为insert(arg1,arg2),其中arg1为插入的位置,arg2为插入的元素。

示例

arr1 = [1,2,3,4]
arr1.insert(2,9) *# arr1 = [1,2,9,3,4]*
  • 查找

如果只是确定数组中是否含有某一元素:

arr1 = [1,2,3,4]
if 4 in arr1:
  print('yes')

如果想要确定某个元素的索引,则可以引用index()方法查找数组中该元素第一次出现的索引。

arr1 = [1,2,3,4]
arr1.index(3) *# 2*
  • 修改

通过索引修改:

arr1 = [1,2,3,4]
arr1[1] = 9 *# arr1 = [1,9,3,4]*
  • 反转

使用reverse()方法反转列表,并直接替换。

arr1 = [1,2,3,4]
arr1.reverse() *# [4,3,2,1]*
  • 排序

使用sort()或者sorted()进行排序,默认升序。前者排序后直接替换,后者不保留排序结果,并没有修改原列表。

arr4 = [3,1,7,5]
arr4.sort() *# [1,3,5,7]*
arr4.sort(reverse=True) *# [7,5,3,1]*
arr5 = [2,1,4,3]
sorted(arr5) *# [1,2,3,4]*
sorted(arr5,reverse=True) *# [4,3,2,1]*
print(arr5) *# [2,1,4,3]*
  • 清空

利用clear()方法对数组进行清空。

arr1 = [1,2,3,4]
arr1.clear() *# [],空列表*
  • 截取

python截取列表相较于其它编程语言会简单不少,可以通过步长取数,左闭右开。

arr6 = [1,2,3,4,5,6,7,8,9]
print(arr6[1:3:1]) *# [2,3]*
print(arr6[0:7:2]) *# 步长为2,[1,3,5,7]*
print(arr6[::-2]) *# 从右向左截取,步长为2。[9,7,5,3,1]*
print(arr6[:-2]) *# 倒数两位元素之前的所有位。[1,2,3,4,5,6,7]*
相关文章
|
9月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
718 1
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
562 2
|
Python
【Leetcode刷题Python】53. 最大子数组和
LeetCode第53题"最大子数组和"的Python解决方案,利用动态规划的思想,通过一次遍历数组并维护当前最大和以及全局最大和来求解。
449 2
|
Python
【Leetcode刷题Python】剑指 Offer 03. 数组中重复的数字
解决剑指Offer题目 "数组中重复的数字" 的Python实现方法,通过使用字典来记录数组中每个数字的出现次数,快速找出重复的数字。
200 1
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
710 10
|
索引 Python
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
626 4
|
存储 数据处理 索引
如何删除 Python 数组中的值?
【8月更文挑战第29天】
830 9
|
索引 Python
向 Python 数组添加值
【8月更文挑战第29天】
581 8
|
存储 缓存 C语言
|
存储 测试技术 Python
Python 数组和列表有什么区别?
【8月更文挑战第29天】
3803 4

推荐镜像

更多