[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]*
相关文章
|
3月前
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
102 2
|
3月前
|
Python
【Leetcode刷题Python】53. 最大子数组和
LeetCode第53题"最大子数组和"的Python解决方案,利用动态规划的思想,通过一次遍历数组并维护当前最大和以及全局最大和来求解。
84 2
|
3月前
|
Python
【Leetcode刷题Python】剑指 Offer 03. 数组中重复的数字
解决剑指Offer题目 "数组中重复的数字" 的Python实现方法,通过使用字典来记录数组中每个数字的出现次数,快速找出重复的数字。
35 1
|
27天前
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
52 10
|
27天前
|
索引 Python
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
79 4
|
3月前
|
存储 数据处理 索引
如何删除 Python 数组中的值?
【8月更文挑战第29天】
113 8
|
3月前
|
索引 Python
向 Python 数组添加值
【8月更文挑战第29天】
39 8
|
3月前
|
存储 缓存 C语言
|
3月前
|
存储 测试技术 Python
Python 数组和列表有什么区别?
【8月更文挑战第29天】
282 4
|
3月前
|
Python
【Leetcode刷题Python】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
Leetcode题目"剑指 Offer 21. 调整数组顺序使奇数位于偶数前面"的两种Python解决方案,一种是使用双端队列调整数组顺序,另一种是使用双指针法将奇数移到数组前半部分,偶数移到后半部分。
27 4