在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. 解决 Python 的字符串 center ljust rjust 在面对中文时的 bug

    方法一:修改内置 str 的方法,能更灵活的定制,更准确地判断 CJK 字符,全局有效.甚至还能把转义序列也兼容了. def modify_str(): import gc, ctypes def c ...

  2. 2022-06-10:薯队长从北向南穿过一片红薯地(南北长M,东西宽N),红薯地被划分为1x1的方格, 他可以从北边的任何一个格子出发,到达南边的任何一个格子, 但每一步只能走到东南、正南、西南方向的

    2022-06-10:薯队长从北向南穿过一片红薯地(南北长M,东西宽N),红薯地被划分为1x1的方格, 他可以从北边的任何一个格子出发,到达南边的任何一个格子, 但每一步只能走到东南.正南.西南方向的 ...

  3. 2021-04-08:给定一个单链表的头节点head,请判断该链表是否为回文结构。

    2021-04-08:给定一个单链表的头节点head,请判断该链表是否为回文结构. 福大大 答案2021-04-08: 1.找中点. 2.按中点切分成两个链表. 3.反转右边链表. 4.相等判断. 5 ...

  4. 2021-07-20:最小区间。你有 k 个 非递减排列 的整数列表。找到一个 最小 区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a ==

    2021-07-20:最小区间.你有 k 个 非递减排列 的整数列表.找到一个 最小 区间,使得 k 个列表中的每个列表至少有一个数包含在其中.我们定义如果 b-a < d-c 或者在 b-a ...

  5. 2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num

    2021-10-20:分数到小数.给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数.如果小数部分为循环小数,则将循环的部分括在括号内.输入: num ...

  6. 沁恒 CH32V208(五): CH32V208 运行FreeRTOS示例的说明

    目录 沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟 沁恒 CH32V208 ...

  7. SpringBoot连接Redis失败报错:Unable to connect to Redis; (小白篇)

    学习redis一段时间了,现在开始使用springboot整合redis,实现Java与redis数据库的连接与一系列的使用. 但刚开始就给我来了个下马威,直接寄,连接不上redis,在swagger ...

  8. .Net后台调用js,提示、打开新窗体、关闭当前窗体

    .Net后台调用js,提示.关闭当前窗体.打开新窗体 Response.Write("<script>window.alert('支付成功!');window.open('/Jk ...

  9. Spectre.Console-处理依赖注入

    引言 之前说的做自动记录 Todo 执行过程中消耗的时间的Todo 项目,由于想持续保持程序执行,就放弃了 Spectre.Console.Cli,后来随着命令越来越多,自己处理觉得很是麻烦,想了想要 ...

  10. Bioconductor 中的 R 包安装教程

    Bioconductor 是一个基于 R 语言的生物信息软件包,主要用于生物数据的注释.分析.统计.以及可视化(http://www.bioconductor.org). 总所周知,Bioconduc ...