在过滤掉值的同时维护列表中的列表

Maintian list in list while filter out values

为什么这个循环不起作用?

list = [[1,2,3,4],[2,3,4,5]]
t=[]
for i in list:
  it=[]
  t.append(it)
  for j in x:
    if j==2:
    it.append(j)

想要t=[[2],[2]]

根据您在外部 for 循环的每次迭代中的逻辑,您在 t 中添加一个空列表 it 因为当 for 循环开始时它会启动 it 作为一个空列表,您的代码将其附加到 t 中,您的代码中还有一个 syntex problem 是未定义的 x 变量。

根据我的要求,所需输出的正确代码是:

list = [[1,2,3,4],[2,3,4,5]]
t=[]
for i in list:
  it=[]
  for j in i:
    if j==2:
      it.append(j)
  t.append(it)