20170226 学习汇总

1.表理解(list comprehension),用于快速地生成一个新的列表

return [x for in sequence if not in self.blocked]

等价于

= []
for in sequence:
   if not in self.blocked:
        l.append(x)
return l
 

2.Scipy

scipy包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,统计,特殊函数等等。

scipy可以与其它标准科学计算程序库进行比较,比如GSL(GNU C或C++科学计算库),或者Matlab工具箱。scipy是Python中科学计算程序的核心包; 它用于有效地计算numpy矩阵,来让numpy和scipy协同工作。

在实现一个程序之前,值得检查下所需的数据处理方式是否已经在scipy中存在了。作为非专业程序员,科学家总是喜欢重新发明造轮子,导致了充满漏洞的,未经优化的,很难分享和维护的代码。相反,Scipy程序经过优化和测试,因此应该尽可能使用。

3. IDE

集成开发环境IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器编译器调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。

4. numpy

4.1 running rates contrast

import numpy as np

my_arr = np.arange(1000000)

my_list = list(range(1000000))

%time for _ in range(10): my_arr2 = my_arr * 2  

%time for _ in range(10): my_arr2 = [ x * 2 for x in my_list]

4.2 np.ndim

 一个数组中的某个元素,当用数组下标表示的时候,需要用几个数字来表示才能唯一确定这个元素,这个数组就是几维。

 例如,一个数字确定一个元素:a[7]就是一维的 

两个数字确定一个元素:b[5][9]是二维 
三个数字:c[6][8][1]是三维 
………… 
n个数字就是n维

Number of array dimensions.

>>> x = np.array([1, 2, 3])
>>> x.ndim
1
>>> y = np.zeros((2, 3, 4))
>>> y.ndim
3

  

 

 

posted @ 2018-02-26 19:09  piaoliusihai  阅读(89)  评论(0编辑  收藏  举报