在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]*

[Python]数组基础的更多相关文章

  1. Python数据分析基础教程

    Python数据分析基础教程(第2版)(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1_FsReTBCaL_PzKhM0o6l0g 提取码:nkhw 复制这段内容后 ...

  2. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  3. python数组和矩阵使用总结

    python数组和矩阵使用总结 1.数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作.使用这个包,需要导入numpy. SciPy包以NumPy包为基础,大大的扩展了n ...

  4. python的基础数据类型笔记

    注意:此文章基于python3.0以上做的笔记. python的基础数据类型大体有一下几种 一.int int类型有以下几种方法 .bit_length 返回数据在内存中所占的比特位 如下: prin ...

  5. Python Numpy基础教程

    Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...

  6. Python机器学习基础教程-第2章-监督学习之线性模型

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  7. Python机器学习基础教程-第1章-鸢尾花的例子KNN

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  8. Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2

    //2019.07.10python数据分析基础——numpy(数据结构基础) import numpy as np: 1.python数据分析主要的功能实现模块包含以下六个方面:(1)numpy—— ...

  9. Python 语言基础

    Python 语言基础 Python 开发环境 计算机组成 编程语言(计算机语言)是人们为了控制计算机,而设计的一种符号和文字的组合,从而实现向计算机发出指令. 形式是符号和文字的组合 目的是为了控制 ...

  10. Python 零基础入门

    Python 零基础入门 1.1 Python介绍 Python 是一门优雅且健壮的面向对象解释型计算机程序编程语言,具有面向对象.可升级.可扩展.可移植 语法简洁清晰易学.易读写.易维护.健壮性.通 ...

随机推荐

  1. 2021-04-27:如果一个字符相邻的位置没有相同字符,那么这个位置的字符出现不能被消掉。比如:“ab“,其中a和b都不能被消掉 。如果一个字符相邻的位置有相同字符,就可以一起消掉。比如:“abbb

    2021-04-27:如果一个字符相邻的位置没有相同字符,那么这个位置的字符出现不能被消掉.比如:"ab",其中a和b都不能被消掉 .如果一个字符相邻的位置有相同字符,就可以一起消 ...

  2. 2021-04-10:给定两个可能有环也可能无环的单链表,头节点head1和head2。请实现一个函数,如果两个链表相交,请返回相交的 第一个节点。如果不相交,返回null。【要求】如果两个链表长度之和为N,时间复杂度请达到O(N),额外空间复杂度 请达到O(1)。

    2021-04-10:给定两个可能有环也可能无环的单链表,头节点head1和head2.请实现一个函数,如果两个链表相交,请返回相交的 第一个节点.如果不相交,返回null.[要求]如果两个链表长度之 ...

  3. 2022-01-22:力扣411,最短独占单词缩写。 给一个字符串数组strs和一个目标字符串target。target的简写不能跟strs打架。 strs是[“abcdefg“,“ccc“],tar

    2022-01-22:力扣411,最短独占单词缩写. 给一个字符串数组strs和一个目标字符串target.target的简写不能跟strs打架. strs是["abcdefg", ...

  4. 分库分表的 21 条法则,hold 住!

    大家好,我是小富- (一)好好的系统,为什么要分库分表? 本文是<分库分表ShardingSphere5.x原理与实战>系列的第二篇文章,距离上一篇文章已经过去好久了,惭愧惭愧- 还是不着 ...

  5. Event Tables for Efficient Experience Replay

    Abstract 事件表分层抽样(SSET),它将ER缓冲区划分为事件表,每个事件表捕获最优行为的重要子序列. 我们证明了一种优于传统单片缓冲方法的理论优势,并将SSET与现有的优先采样策略相结合,以 ...

  6. 通过模仿学会Python爬虫(一):零基础上手

    好家伙,爬虫来了 爬虫,这玩意,不会怎么办, 诶,先抄一份作业回来 1.别人的爬虫  Python爬虫史上超详细讲解(零基础入门,老年人都看的懂)_ChenBinBini的博客-CSDN博客 # -* ...

  7. A First course in FEM —— matlab代码实现求解传热问题(稳态)

    这篇文章会将FEM全流程走一遍,包括网格.矩阵组装.求解.后处理.内容是大三时的大作业,今天拿出来回顾下. 1. 问题简介 涡轮机叶片需要冷却以提高涡轮的性能和涡轮叶片的寿命.我们现在考虑一个如上图所 ...

  8. 基于ChatGPT函数调用来实现C#本地函数逻辑链式调用助力大模型落地

    6 月 13 日 OpenAI 官网突然发布了重磅的 ChatGPT 更新,我相信大家都看到了 ,除了调用降本和增加更长的上下文版本外,开发者们最关心的应该还是新的函数调用能力.通过这项能力模型在需要 ...

  9. JUC同步锁原理源码解析五----Phaser

    JUC同步锁原理源码解析五----Phaser Phaser Phaser的来源 A reusable synchronization barrier, similar in functionalit ...

  10. 如何使用idea来查找所有未使用的代码?

    背景 项目组需要对开发的项目进行一次清理,把一些未被引用的代码清理掉. 我们知道一段代码未被引用,那么代码通常是灰色的. 但是一个完整的项目,会存在成千上万个Java文件,如果一个一个看去需要花费太多 ...