小编The*_*ate的帖子

Python的列表推导和其他更好的实践

这涉及将SAS中的双向ANOVA程序转换为Python的项目.

我周四开始尝试学习这门语言,所以我知道我还有很大的提升空间.如果我遗漏一些明显的东西,请务必告诉我.我还没有Sage运行起来,也没有numpy,所以现在,这些都是非常普通的Python 2.6.1.(便携式)

主查询:需要一个好的集列表解析可以由因子B,整体,并且在因子A&B(AXB)的每个电平的基团通过因子A提取样本的列表中的数据以列表,的.

完成一些工作后,数据采用以下形式(3层嵌套列表):

反应[A] [B] [n]的

(意思是:〔A1 [B1 [N1,...,N] ... [BB [N1,... NN]],...,AA [B1 [N1,...,N] .. .[bB [n1,... nN]]]希望这很清楚.)

我的例子中的因子水平:A = 3(0-2),B = 8(0-7),N = 8(0-7)

byA= [[a[i] for i in range(b)] for a[b] in response]
Run Code Online (Sandbox Code Playgroud)

(有人可以解释为什么这句法的作品?我偶然到它想看看解析器会接受.我还没有看到连接到其他地方行为的语法,但它是非常好的.关于该主题网站或书籍的任何好的链接编辑:运行之间变量的持久性解释了这种奇怪.它不起作用.)

byB=lstcrunch([[Bs[i] for i in range(len(Bs)) ]for Bs in response])
Run Code Online (Sandbox Code Playgroud)

(值得注意的是,zip(*response)几乎可以做我想要的.上面的版本实际上并没有工作,我记得.我还没有通过仔细的测试.)

byAxB= [item for sublist in response for item in sublist]
Run Code Online (Sandbox Code Playgroud)

(从Alex Martelli在本网站上的回复中窃取.再次有人可以解释为什么?列表理解语法在我读过的文本中没有得到很好的解释.)

ByO= [item for sublist in byAxB for item in sublist]
Run Code Online (Sandbox Code Playgroud)

(显然,我只是重复使用前面的理解,因为它做了我需要的.编辑:)

我想这些落得相同的数据类型,所讨论通过由因子环至少当,ST相同的平均/和/ SS …

python arrays statistics list python-2.6

3
推荐指数
1
解决办法
3372
查看次数

标签 统计

arrays ×1

list ×1

python ×1

python-2.6 ×1

statistics ×1