如何从两个偶数和奇数列表中的可迭代对象中分离数字?



函数应该接受一个数字列表,然后生成两个新列表,每个列表中分隔偶数和非偶数。

def separate(list):
evenList = []
unevenList = []
for e in list:
if e % 2 == 0:
evenList.append(e)
elif e % 1 == 0:
unevenList.append(e)
print(f"The even list is ", evenList)
print(f"The uneven list is ", unevenList)        

我注意到当我的参数以偶数结尾时,它将所有内容都附加到偶数列表中,如果它以非偶数结尾,则与非偶数列表相同。我只需要一种基于条件的迭代方法,并且只将符合条件的数字附加到每个新列表中。

你可以用两个列表推导来做(同样,你不应该覆盖内置的pythonlist):

even_lst = [i for i in lst if not i % 2]
odd_lst = [i for i in lst if i % 2]