1.1.1.3简单例子

Posted wdzn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 的两个特性:矢量化和传播性。

以上是关于1.1.1.3简单例子的主要内容,如果未能解决你的问题,请参考以下文章

分享几个实用的代码片段(附代码例子)

分享几个实用的代码片段(附代码例子)

1.1.1.3简单例子

如何创建片段以重复变量编号中的代码行

spark 例子wordcount topk

为啥这段代码会泄露? (简单的代码片段)