在科学研究中,数据运算是必不可少的,下面介绍python语言在科学计算中常用的数据结构和运算函数。

主要数据结构:

(1)列表,用中括号表示,元素之间逗号分隔,每个元素可以是数字,字符,也可以是列表,甚至它们的混合。列表赋值时内存地址不会发生改变,因此会出现多个列表名共用同一个内存单元的情况,一旦内存单元的值改变,各列表的值全部相应变化。

(2)元组,用小括号表示,一旦生成,元素的值无法改变。该数据类型可以很好的避免列表中元素被其他列表肆意改动的问题。

(3)矩阵,时numpy包中定义的一种矩阵运算最为方便的一种数据类型,对矩阵的加减乘除运算非常简便,是运算速度最快的一种数据类型。

三种数据结构的区别是:

 数据的创建

列表的创建形式:(1)赋值,用中括号,(2)用中括号内的循环语句,(3)从文件中读入,(4)用一些内置函数例如range等。

矩阵的创建形式:(1)将列表转化为矩阵,(2)用numpy函数如zeros/ones/linspace等,(3)从文件中读入。

数据的运算

拼合运算:(1)用list.append(),适用于列表;(2)用list1+list2,适用于列表;(3)用np.append(),适用于矩阵。

加减运算:(1)array1[]+array2[],适用于矩阵

数乘运算:(1)用array1*array2,适用于矩阵

矩阵乘法:(1)用np.dot(array1,array2),适用于矩阵

 矩阵性质查看

查看矩阵:np矩阵.shape可以查看矩阵的行列信息。np矩阵.dtype可以查看其中每个元素的数据类型(整型,浮点型,字符型)

查看列表:len(list)可以查看列表中有几个元素,type(var)可以查看var变量的类型是列表/矩阵等。

python3在科学计算中的三种常用数据结构的更多相关文章

  1. Python3.0科学计算学习之绘图(一)

    基本绘图: (1)  plot是标准的绘图库,调用函数plot(x,y)就可以创建一个带有绘图的图形窗口(其中y是x的函数).输入的参数为具有相同长度的数组(或列表):或者plot(y)是plot(r ...

  2. Python3.0科学计算学习之函数

    函数 函数允许程序的控制在不同的代码片段之间切换,函数的重要意义在于可以在程序中清晰地分离不同的任务,将复杂的问题分解为几个相对简单的子问题,并逐个解决.即"分而治之". Pyth ...

  3. Python3.0科学计算学习之绘图(四)

    绘制三维图: mplot3d工具包提供了点.线.等值线.曲面和所有其他基本组件以及三维旋转缩放的三维绘图. 1.散点的三维数据图 from mpl_toolkits.mplot3d import ax ...

  4. Python3.0科学计算学习之绘图(三)

    matplotlib对象: 使用matplotlib的pyplot模块,可以供用户直接使用最重要的绘图命令.多数情况下,我们希望创建一个图形并且立即展示出来,但是有时如果生成要通过更改其属性来修改的图 ...

  5. Python3.0科学计算学习之绘图(二)

    (1) np.mashgrid()函数:-----生成网络点坐标矩阵,可以是二维网络矩阵,也可以是三维网络矩阵.其中,每个交叉点就是网络点,描述这些网络点的矩阵就是坐标矩阵(横坐标矩阵X中的每个元素与 ...

  6. Python3.0科学计算学习之类

    类: Python中的类是一个抽象的概念,甚至比函数还要抽象.可以把它简单的看作是数据以及由存取.操作这些数据的方法所组成的一个集合.类是Python的核心概念,是面向对象编程的基础. 类有如下的优点 ...

  7. Python科学计算发行版—Anaconda

    Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些模块可能又依赖 ...

  8. python科学计算_numpy_ndarray

    ndarray:n-dimensional array object,即多维数组对象,是python自带的array对象的扩展,array对象和list对象的区别是array对象的每一个元素都是数值, ...

  9. Scipy:高端科学计算

    转 :https://blog.csdn.net/lwfcgz/article/details/23290623 Scipy scipy包包含致力于科学计算中常见问题的各个工具箱.它的不同子模块相应于 ...

随机推荐

  1. BUUCTF-web HappyCTFd (CVE-2020-7245)

    在 CTFd v2.0.0 - v2.2.2 的注册过程中,如果在CTFd的用户名和emails可用,则可以使攻击者接管任意账号. 进入题目,进行注册.查看用户可以看到admin账号,利用漏洞获取ad ...

  2. 使用Gateway配置路由以及动态路由

    1. 新建module cloud-gateway-gateway9527 2. pom.xml <!--注意不需要web模块依赖,否则报错--> <?xml version=&qu ...

  3. MacOS下ElasticSearch学习(第一天)

    ElasticSearch第一天 学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"elasticsearch&q ...

  4. Django学习路20_流程复习

    视频链接 https://www.bilibili.com/video/BV1rx411X717?p=21 千锋教育出品的 Django 课程                     2020-05- ...

  5. PHP tanh() 函数

    实例 返回不同数的双曲正切: <?php高佣联盟 www.cgewang.comecho(tanh(M_PI_4) . "<br>");echo(tanh(0.5 ...

  6. AC自动机&后缀自动机

    理解的不够深 故只能以此来加深理解 .我这个人就是蠢没办法 学长讲的题全程蒙蔽.可能我字符串就是菜吧,哦不我这个人就是菜吧. AC自动机的名字 AC 取自一个大牛 而自动机就比较有讲究了 不是寻常的东 ...

  7. [转]17个常用的JVM参数

    作者:SimpleSmile_5177 来源:https://www.cnblogs.com/Simple-Object/p/10272326.html 前言 大家都知道,jvm在启动的时候,会执行默 ...

  8. 声明式事务xml Spring

    !--JDBC事务管理器--><bean id="tansactionManager" class="org.springframework.jdbc.dat ...

  9. 利用描述符自定制property

    利用描述符自定制property class Lazyproperty: def __init__(self,func): # print('==========>',func) self.fu ...

  10. Jenkins=====》部署到构建完成

    目录 序言 正文 插件 系统管理 构建Maven项目 结尾 序言 ​ 大家好,我是龙宝,来自一个正在爬坑的java程序员,欢迎观看这一期的jenkins部署篇(V_V) 正文 ​ 这里我们直接上图看步 ...