我想这会对你有所帮助。
l=list(range(10)) evens=[] odds=[] for x in l: if x%2==0: evens.append(x) else: odds.append(x) print(evens,odds)
下面将只使用一个附加列表(如果您不需要原始列表):
l=list(range(10)) odds=[] for x in l: if x%2==0: continue else: l.remove(x) odds.append(x) print(l,odds)
您需要一种方法在迭代一个列表期间制作两个列表。最好的方法是创建一个带3个参数的函数。一个用于输入,两个用于两个输出列表,通常称为累加器。
当你到达列表的末尾时,逻辑是返回两个累加器的列表。如果不是,则通过将元素添加到偶数累加器来检查元素是否均匀并递归。如果不是,你通过将元素添加到奇数累加器来递归。