0

私は次のコードを書きました:

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 つの条件の少なくとも 1 つを満たす数値のリストを返すことです。

必要な結果は、3 つの条件すべてを満たす数値のリストです。どうすればそれを達成できますか?

4

3 に答える 3

2

filter()関数and&AND(の|代わりにOR)の代わりに使用することもできます。

list(filter(lambda x: x < 0 & x % 9 == 0 & x % 2 != 0, list_1)
于 2019-03-08T12:01:02.803 に答える