在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. 一站式统一返回值封装、异常处理、异常错误码解决方案—最强的Sping Boot接口优雅响应处理器

    作者:京东物流 覃玉杰 1. 简介 Graceful Response是一个Spring Boot体系下的优雅响应处理器,提供一站式统一返回值封装.异常处理.异常错误码等功能. 使用Graceful ...

  2. Apache Arrow DataFusion原理与架构

    本篇主要介绍了一种使用Rust语言编写的查询引擎--DataFusion,其使用了基于Arrow格式的内存模型,结合Rust语言本身的优势,达成了非常优秀的性能指标 DataFusion是一个查询引擎 ...

  3. Django4全栈进阶之路19 项目实战(用户管理):user_delete.html用户删除画面设计

    1.user_list.html删除按钮链接设置: <td> <a class="btn btn-danger btn-xs" href="{% url ...

  4. vue全家桶进阶之路24:Mock

    Mock 是一个 JavaScript 库,用于生成随机数据或模拟 HTTP 请求响应,用于前端开发中的单元测试.功能测试.集成测试等场景. Mock 可以生成各种类型的数据,包括字符串.数字.布尔值 ...

  5. Python Numpy 切片和索引(高级索引、布尔索引、花式索引)

    张量(Tensor).标量(scalar).向量(vector).矩阵(matrix) Python Numpy 切片和索引(高级索引.布尔索引.花式索引) Python NumPy 广播(Broad ...

  6. Burpsuite抓包工具的使用

    一.打开工具 1处箭头为 代理127.0.0.1 端口8080 2处箭头为 证书 将证书ca下载到桌面上 选择第一个 选择下载到桌面即可 可以修改其后缀为der 此即为证书文件 此处使用火狐浏览器为示 ...

  7. Python潮流周刊#2:Rust 让 Python 再次伟大

    这里记录每周值得分享的 Python 及通用技术内容,部分为英文,已在小标题注明.(本期标题取自其中一则分享,不代表全部内容都是该主题,特此声明.) 文章&教程 1.Python修饰器的函数式 ...

  8. nas盒子内网穿透

    2023年5月27日星期六 -------------------------------------------------------------------------------------- ...

  9. 曲线艺术编程 coding curves 第三章 弧,圆,椭圆(ARCS, CIRCLES, ELLIPSES)

    第三章 弧,圆,椭圆(TRIG CURVES) 原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二 ...

  10. 一文吃透Java并发高频面试题

    内容摘自我的学习网站:topjavaer.cn 分享50道Java并发高频面试题. 线程池 线程池:一个管理线程的池子. 为什么平时都是使用线程池创建线程,直接new一个线程不好吗? 嗯,手动创建线程 ...