python – 如何将这一行for循环更改为正常for循环?
发布时间:2020-12-20 12:02:50 所属栏目:Python 来源:网络整理
导读:这是一个我无法理解的一般性问题. 如果我有这个: somelist = [[a for a,b in zip(X,y) if b == c] for c in np.unique(y)] 如何将其写为正常的多行循环?我似乎从来没有做对. 编辑:到目前为止,我已经尝试过: somelist = []for c in np.unique(y): for x,t
这是一个我无法理解的一般性问题.
如果我有这个: somelist = [[a for a,b in zip(X,y) if b == c] for c in np.unique(y)] 如何将其写为正常的多行循环?我似乎从来没有做对. 编辑:到目前为止,我已经尝试过: somelist = [] for c in np.unique(y): for x,t in zip(X,y): if t == c: separated.append(x) 但我不确定这是否正确,因为我没有在我的代码的其他部分得到预期的结果. 解决方法
要展开嵌套的理解,请按照下列步骤操作:
>首先创建一个空容器:somelist = [] 内心理解是: row = [] for a,y): if b == c: row.append(a) 然后,somelist只不过是[np.unique(y)]中的c行,其中row取决于几个因素. somelist = [] for c in np.unique(y): somelist.append(row) 所以完整的版本是: somelist = [] for c in np.unique(y): row = [] for a,y): if b == c: row.append(a) c.append(row) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容