zoukankan      html  css  js  c++  java
  • 1.1.1.3、简单例子

    目录 # 简单例子

    1、使用 Python 的列表

    在科学计算中,关于序列大小和速度的问题尤为重要。

    作为一个简单的例子,有两个相同长度的序列,将前一序列与后一序列中的相应元素相乘。

    如果数据存储在两个 Python 列表 ab 中,则可以遍历每个元素:

    c = []
    for i in range(len(a)):
        c.append(a[i] * b[i])
    

    2、C 语言加速

    例 1 中获得了正确的答案,但是如果 ab 都包含数百万个数字,则 Python 是低效的。

    可以通过 C 语言加快处理的速度:

    for (i = 0; i < rows; i++):{
        c[i] = a[i] * b[i];
    }
    

    3、C 语言处理二维数组

    例 2 节省了解释 Python 代码和操作 Python 对象所需的所有开销,但牺牲了使用 Python 编写代码的好处。

    此外,所需的编码工作随着数据维数的增加而增加。

    例如,在二维数组的情况下,C 语言代码将变为:

    for (i = 0; i < rows; i++):{
        for (j = 0;j < columns; j++):{
            c[i][j] = a[i][j] * b[i][j];
        }
    }
    

    4、使用 NumPy

    NumPy 比上面更好:当涉及 ndarray 时,元素之间的操作是默认的,这个操作由预编译的 C 代码快速执行。

    例如:

    c = a * b
    

    以接近 C 的速度执行前面示例的所有操作,但是从 Python 中获得了代码的简单性。

    此展现了 NumPy 的两个特性:矢量化和传播性。

    转载请声明https://www.cnblogs.com/wdzn/
  • 相关阅读:
    Git安装(操作篇)
    Git安装
    ES6基础练习
    SVN的安装与搭建及使用
    解决SVN文件不显示绿色小钩图标问题
    混入(mixin)
    ref属性与props配置项
    docker-compose部署 Mysql 8.0 主从模式基于GTID
    项目统一处理
    Docker Compose实战
  • 原文地址:https://www.cnblogs.com/wdzn/p/12264593.html
Copyright © 2011-2022 走看看