【发布时间】:2021-02-03 00:20:06
【问题描述】:
我想知道如何用常规循环编写这个列表理解:
sep_class = [[x for x, t in zip(X_train, y_train) if t==c] for c in np.unique(y_train)]
我是这样尝试的:
sep_class = []
for c in np.unique(y_train):
for x, t in zip(X_train, y_train):
if t == c:
sep_class.append(x)
但输出不同。我做错了什么?
【问题讨论】:
-
是的,它们应该是,除了 sep 没有定义的事实。
-
这个列表理解正在创建一个带有子列表的列表,而其他代码似乎将所有内容附加到同一个列表中。
-
@Tomerikoo 我试图询问如何分解我拥有的列表理解,但没关系,我看到了 Karl Knechtel 的链接并想通了。