我编写了以下代码:list_1 = [5, 18, 3]list_2 = []for element in list_1: if element < 0: list_2.append(element) elif element % 9 == 0: list_2.append(element) elif element % 2 != 0: list_2.append(element) else: print('No number is valid')print(list_2)问题是这会返回至少满足 3 个条件之一的数字列表。我想要的结果是满足所有三个条件的数字列表。我怎么能做到这一点?
3 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
使用结合所有条件的单个 if 语句
if element<0 and element%9==0 and element%2!=0 : list2.append(element)
慕斯王
TA贡献1864条经验 获得超2个赞
您还可以使用函数filter()
和&
代替AND
(|
代替OR
):
list(filter(lambda x: x < 0 & x % 9 == 0 & x % 2 != 0, list_1)
添加回答
举报
0/150
提交
取消